dont echo not selected values

Discussion in 'PHP' started by lostsouler, Nov 9, 2010.

  1. #1
    Hi, Im trying to make an online form.
    Im using dropdown boxes, I hide/show some elements.
    If I choose a option, then I click on submit, it echo-es another element`s option which arent active, and are useless in that situation.

    Does sombebody have any good idea, how to dont echo not selected values?

    Thank you all

    P.S.:sry for my english

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Untitled Document</title>
    
    <script type="text/javascript">
    function showtext(c) {
    if(c=="leskly") {
    document.getElementById("lesk").style.display="block";
    }
    else {
    document.getElementById("lesk").style.display="none";
    }
    
    if(c=="matny") {
    document.getElementById("mat").style.display="block";
    }
    else {
    document.getElementById("mat").style.display="none";
    }
    if(c=="iny") {
    document.getElementById("iny").style.display="block";
    }
    else {
    document.getElementById("iny").style.display="none";
    }
    }
    
    function rozmertext(a) {
    if(a=="iny") {
    //document.getElementById("rozm_text").style.display="block";
    
    }
    else {
    
    document.getElementById("rozm_text").style.display="none";
    
    }
    }
    function showlamin(b) {
    if(b=="l_mat") {
    document.getElementById("lamin").style.display="block";
    
    }
    else {
    document.getElementById("lamin").style.display="none";
    }
    }
    
      function clearFields() {
     document.getElementByName("rozm_textx").value = "";
    }
    
      function clearFields1(f) {
          if(f=="iny"){
    //document.getElementByName("rozm_textx").value = "no";
    // document.getElementById("rozm_text").style.display="block";
    
    
    document.getElementById("rozm_text").style.display="block";
    
    //document.write("Hello World!");
    //var name_element = document.getElementById('rozm_text');
    
    //document.write(name_element);
    
    }}
    </script>
    
    </head>
    
    <body>
    <form action="proces.php" method="post">
    <label>Rozmery:</label><select name="rozmery" id="rozmery" onChange="rozmertext(this.value)" onClick="clearFields1(this.value)">
      <option>A3:29,7 x 42cm</option>
      <option>A4:21 x 29,7cm</option>
      <option>A5:14 x 21cm</option>
      <option>DL:9 x 21cm</option>
      <option value="iny">iný</option>
    </select>
    <div id="rozm_text" style="display:none;float:right;">
    <label style="display:inline;">Šírka(cm):</label><input  name="rozm_textx" type="text" id="test" style="margin-left:10px;" />
    <label style="display:inline;">Výška(cm):</label><input name="rozm_texty" type="text"  style="margin-left:10px;" />
    </div>
    <br />
    <label>Farebnosť:</label><select name="farebnost" id="farebnost">
      <option>4+4</option>
      <option>4+1</option>
      <option>4+0</option>
      <option>1+1</option>
      <option>1+0</option>
    </select><br />
    <label>Papier:</label><select name="papier" id="papier" onchange="showtext(this.value)">
      <option value="">vyber</option>
      <option value="leskly">lesklý</option>
      <option value="matny">matný</option>
      <option value="iny">iný</option>
    </select>
    <select name="p_leskly" id="lesk" style="display:none;margin-left:10px;float:right;">
      <option>115 g/m2</option>
      <option>130 g/m2</option>
      <option>160 g/m2</option>
      <option>200 g/m2</option>
      <option>250 g/m2</option>
      <option>280 g/m2</option>
    </select>
    <select name="p_matny" id="mat" style="display:none;margin-left:10px;float:right;">
      <option>80 g/m2</option>
      <option>90 g/m2</option>
      <option>130 g/m2</option>
      <option>160 g/m2</option>
      <option>200 g/m2</option>
      <option>250 g/m2</option>
      <option>280 g/m2</option>
    </select>
    <select name="p_iny" id="iny" style="display:none;margin-left:10px;float:right;">
      <option>potom</option>
    </select>
    
    <br />
    <label>Náklad:</label><input name="naklad" type="text" />
    <label style="display:inline;margin-left:15px;">Počet druhov:</label><input name="pocetdruhov" type="text"  />
    <br />
    <label>Lomy:</label><input name="lomy" type="text" /><br />
    <label>Laminácia:</label><select name="laminacia" onChange="showlamin(this.value)">
      <option>žiadna</option>
      <option value="l_mat">1+0 mat</option>
      <option value="l_mat">1+1 mat</option>
      <option>1+0 lesk</option>
      <option>1+1 lesk</option>
    </select>
    <div id="lamin" style="display:none;margin-left:15px;"> <label >Parcialny lak:</label><select name="parcialnylak"  style="display:inline;">
      <option>žiadny</option>
      <option>1+1 lesklý</option>
      <option>1+0 lesklý</option>
    </select></div>
    <p>
      <input type="submit" name="button" id="button" value="Submit" />
    </p>
    </form>
    
    </body>
    </html>
    
    HTML:
    <?php
    $rozmery = $_POST['rozmery'];
    $rozm_textx = $_POST['rozm_textx'];
    $rozm_texty = $_POST['rozm_texty'];
    $farebnost = $_POST['farebnost'];
    $papier = $_POST['papier'];
    $p_leskly = $_POST['p_leskly'];
    $p_matny = $_POST['p_matny'];
    $p_iny = $_POST['p_iny'];
    $naklad = $_POST['naklad'];
    $pocetdruhov = $_POST['pocetdruhov'];
    $lomy = $_POST['lomy'];
    $laminacia = $_POST['laminacia'];
    $parcialnylak = $_POST['parcialnylak'];
    
    echo "Rozmery: ".$rozmery ."  Iné rozmery (SxV): ".$rozm_textx." x ".$rozm_texty."<br />";
    echo "Farebnost: ".$farebnost ."<br />";
    echo "Papier: ".$papier; echo $p_leskly; echo $p_matny; echo $p_iny;"<br />";
    echo "Naklad: ".$naklad ."<br />";
    echo "Pocet druhov: ".$pocetdruhov ."<br />";
    echo "Lomy: ".$lomy ."<br />";
    echo "Laminacia: ".$laminacia; echo $parcialnylak;"<br />";
    
    ?>
    
    PHP:
     
    lostsouler, Nov 9, 2010 IP
  2. daljit

    daljit Well-Known Member

    Messages:
    312
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    101
    #2
    me also confuse what you really need?
     
    daljit, Nov 9, 2010 IP
  3. lostsouler

    lostsouler Peon

    Messages:
    16
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    0
    #3
    ex. if I fill the form, for example: as "rozmery" (1row) I select "iný" than I will see in the right 2 input fields, which I fill. Then if I wanna change "rozmery" and I choose A3 and I click on the submit button, then I will see both of the selection "A3" and firstly selected "iny" with both fields.

    I wanted this if I change an option, then I click on the submit button, I dont want to see unselected (not actual) options (as in the example).

    thank you
     
    lostsouler, Nov 9, 2010 IP
  4. lostsouler

    lostsouler Peon

    Messages:
    16
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    0
    #4
    im newbie, I think it is ok

    i share my solution

    <?php
    $rozmery = $_POST['rozmery'];
    $rozm_textx = $_POST['rozm_textx'];
    $rozm_texty = $_POST['rozm_texty'];
    $farebnost = $_POST['farebnost'];
    $papier = $_POST['papier'];
    $p_leskly = $_POST['p_leskly'];
    $p_matny = $_POST['p_matny'];
    $p_iny = $_POST['p_iny'];
    $naklad = $_POST['naklad'];
    $pocetdruhov = $_POST['pocetdruhov'];
    $lomy = $_POST['lomy'];
    $laminacia = $_POST['laminacia'];
    $parcialnylak = $_POST['parcialnylak'];
    
    /*$rozmfix = $rozmery ;
    $rozmvar = echo "ine rozmery: ".$rozm_textx." x ".$rozm_texty."<br />";
    */
    if ($rozmery == "iny") {
    echo "Papier: Iné rozmery (SxV): ".$rozm_textx." x ".$rozm_texty."<br />";        
    }
    else {
    echo "Rozmery: ".$rozmery."<br />";
    }
    /*echo "Rozmery: ".$rozmery ."  Iné rozmery (SxV): ".$rozm_textx." x ".$rozm_texty."<br />";
    */
    echo "Farebnost: ".$farebnost ."<br />";
    
    if ($papier == "leskly") {
     echo "Papier: ".$papier." ".$p_leskly."<br />";        
    }
    if ($papier == "matny") {
     echo "Papier: ".$papier." ".$p_matny."<br />";        
    }
    if ($papier == "iny") {
     echo "Papier: ".$papier." ".$p_iny."<br />";        
    }
    
    /*echo "Papier: ".$papier; echo $p_leskly; echo $p_matny; echo $p_iny;"<br />";
    */
    
    echo "Naklad: ".$naklad ."<br />";
    echo "Pocet druhov: ".$pocetdruhov ."<br />";
    echo "Lomy: ".$lomy ."<br />";
    
    if ($laminacia == "l_mat") {
     echo "Laminacia: ".$laminacia."  ".$parcialnylak."<br />";        
    }
    else{
        echo "Laminacia: ".$laminacia;    
    }
    /*echo "Laminacia: ".$laminacia; echo $parcialnylak;"<br />";
    */
    ?>
    
    PHP:
     
    lostsouler, Nov 10, 2010 IP
  5. lostsouler

    lostsouler Peon

    Messages:
    16
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    0
    #5
    Ok, now I want post this form via email :) ... I have to study, search for an example :)

    good work all :)
     
    lostsouler, Nov 10, 2010 IP
  6. bartolay13

    bartolay13 Active Member

    Messages:
    735
    Likes Received:
    14
    Best Answers:
    1
    Trophy Points:
    98
    #6
    please post the specific script of what you are doing / asking..
     
    bartolay13, Nov 10, 2010 IP
  7. lostsouler

    lostsouler Peon

    Messages:
    16
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    0
    #7
    So, now I can do with my form:
    + hide/show selected elements
    + and the submit is OK ( echo only the selected-actual values)
    - now, I will try to make this form send as mail after submit


    that is all what i have :)

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Untitled Document</title>
    
    <script type="text/javascript">
    function showtext(c) {
    if(c=="leskly") {
    document.getElementById("lesk").style.display="block";
    }
    else {
    document.getElementById("lesk").style.display="none";
    }
    
    if(c=="matny") {
    document.getElementById("mat").style.display="block";
    }
    else {
    document.getElementById("mat").style.display="none";
    }
    if(c=="iny") {
    document.getElementById("iny").style.display="block";
    }
    else {
    document.getElementById("iny").style.display="none";
    }
    }
    
    function rozmertext(a) {
    if(a=="iny") {
    //document.getElementById("rozm_text").style.display="block";
    
    }
    else {
    
    document.getElementById("rozm_text").style.display="none";
    
    }
    }
    function showlamin(b) {
    if(b=="l_mat") {
    document.getElementById("lamin").style.display="block";
    
    }
    else {
    document.getElementById("lamin").style.display="none";
    }
    }
    
      function clearFields() {
     document.getElementByName("rozm_textx").value = "";
    }
    
      function clearFields1(f) {
          if(f=="iny"){
    //document.getElementByName("rozm_textx").value = "no";
    // document.getElementById("rozm_text").style.display="block";
    
    
    document.getElementById("rozm_text").style.display="block";
    
    //document.write("Hello World!");
    //var name_element = document.getElementById('rozm_text');
    
    //document.write(name_element);
    
    }}
    </script>
    
    </head>
    
    <body>
    <form action="proces.php" method="post">
    <label>Rozmery:</label><select name="rozmery" id="rozmery" onChange="rozmertext(this.value)" onClick="clearFields1(this.value)">
      <option>A3:29,7 x 42cm</option>
      <option>A4:21 x 29,7cm</option>
      <option>A5:14 x 21cm</option>
      <option>DL:9 x 21cm</option>
      <option value="iny">iný</option>
    </select>
    <div id="rozm_text" style="display:none;float:right;">
    <label style="display:inline;">Šírka(cm):</label><input  name="rozm_textx" type="text" id="test" style="margin-left:10px;" />
    <label style="display:inline;">Výška(cm):</label><input name="rozm_texty" type="text"  style="margin-left:10px;" />
    </div>
    <br />
    <label>Farebnosť:</label><select name="farebnost" id="farebnost">
      <option>4+4</option>
      <option>4+1</option>
      <option>4+0</option>
      <option>1+1</option>
      <option>1+0</option>
    </select><br />
    <label>Papier:</label><select name="papier" id="papier" onchange="showtext(this.value)">
      <option value="">vyber</option>
      <option value="leskly">lesklý</option>
      <option value="matny">matný</option>
      <option value="iny">iný</option>
    </select>
    <select name="p_leskly" id="lesk" style="display:none;margin-left:10px;float:right;">
      <option>115 g/m2</option>
      <option>130 g/m2</option>
      <option>160 g/m2</option>
      <option>200 g/m2</option>
      <option>250 g/m2</option>
      <option>280 g/m2</option>
    </select>
    <select name="p_matny" id="mat" style="display:none;margin-left:10px;float:right;">
      <option>80 g/m2</option>
      <option>90 g/m2</option>
      <option>130 g/m2</option>
      <option>160 g/m2</option>
      <option>200 g/m2</option>
      <option>250 g/m2</option>
      <option>280 g/m2</option>
    </select>
    <select name="p_iny" id="iny" style="display:none;margin-left:10px;float:right;">
      <option>potom</option>
    </select>
    
    <br />
    <label>Náklad:</label><input name="naklad" type="text" />
    <label style="display:inline;margin-left:15px;">Počet druhov:</label><input name="pocetdruhov" type="text"  />
    <br />
    <label>Lomy:</label><input name="lomy" type="text" /><br />
    <label>Laminácia:</label><select name="laminacia" onChange="showlamin(this.value)">
      <option>žiadna</option>
      <option value="l_mat">1+0 mat</option>
      <option value="l_mat">1+1 mat</option>
      <option>1+0 lesk</option>
      <option>1+1 lesk</option>
    </select>
    <div id="lamin" style="display:none;margin-left:15px;"> <label >Parcialny lak:</label><select name="parcialnylak"  style="display:inline;">
      <option>žiadny</option>
      <option>1+1 lesklý</option>
      <option>1+0 lesklý</option>
    </select></div>
    <p>
      <input type="submit" name="button" id="button" value="Submit" />
    </p>
    </form>
    
    </body>
    </html>
    
    HTML:
    <?php
    $rozmery = $_POST['rozmery'];
    $rozm_textx = $_POST['rozm_textx'];
    $rozm_texty = $_POST['rozm_texty'];
    $farebnost = $_POST['farebnost'];
    $papier = $_POST['papier'];
    $p_leskly = $_POST['p_leskly'];
    $p_matny = $_POST['p_matny'];
    $p_iny = $_POST['p_iny'];
    $naklad = $_POST['naklad'];
    $pocetdruhov = $_POST['pocetdruhov'];
    $lomy = $_POST['lomy'];
    $laminacia = $_POST['laminacia'];
    $parcialnylak = $_POST['parcialnylak'];
    
    /*$rozmfix = $rozmery ;
    $rozmvar = echo "ine rozmery: ".$rozm_textx." x ".$rozm_texty."<br />";
    */
    if ($rozmery == "iny") {
    echo "Papier: Iné rozmery (SxV): ".$rozm_textx." x ".$rozm_texty."<br />";        
    }
    else {
    echo "Rozmery: ".$rozmery."<br />";
    }
    /*echo "Rozmery: ".$rozmery ."  Iné rozmery (SxV): ".$rozm_textx." x ".$rozm_texty."<br />";
    */
    echo "Farebnost: ".$farebnost ."<br />";
    
    if ($papier == "leskly") {
     echo "Papier: ".$papier." ".$p_leskly."<br />";        
    }
    if ($papier == "matny") {
     echo "Papier: ".$papier." ".$p_matny."<br />";        
    }
    if ($papier == "iny") {
     echo "Papier: ".$papier." ".$p_iny."<br />";        
    }
    
    /*echo "Papier: ".$papier; echo $p_leskly; echo $p_matny; echo $p_iny;"<br />";
    */
    
    echo "Naklad: ".$naklad ."<br />";
    echo "Pocet druhov: ".$pocetdruhov ."<br />";
    echo "Lomy: ".$lomy ."<br />";
    
    if ($laminacia == "l_mat") {
     echo "Laminacia: ".$laminacia."  ".$parcialnylak."<br />";        
    }
    else{
        echo "Laminacia: ".$laminacia;    
    }
    /*echo "Laminacia: ".$laminacia; echo $parcialnylak;"<br />";
    */
    ?>
    
    PHP:
     
    lostsouler, Nov 10, 2010 IP
  8. bartolay13

    bartolay13 Active Member

    Messages:
    735
    Likes Received:
    14
    Best Answers:
    1
    Trophy Points:
    98
  9. lostsouler

    lostsouler Peon

    Messages:
    16
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    0
    #9
    Yes, i found it

    <?php
    
    $Name = "Da Duder"; //senders name
    $email = "email@adress.com"; //senders e-mail adress
    $recipient = "PersonWhoGetsIt@emailadress.com"; //recipient
    $mail_body = "The text for the mail..."; //mail body
    $subject = "Subject for reviever"; //subject
    $header = "From: ". $Name . " <" . $email . ">\r\n"; //optional headerfields
    
    mail($recipient, $subject, $mail_body, $header); //mail command :)
    ?>
    PHP:
    I tested with this, and it works. I will implement it ...
     
    lostsouler, Nov 10, 2010 IP
  10. lostsouler

    lostsouler Peon

    Messages:
    16
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    0
    #10
    Send form via email works too :)

    It is my solution (maybe it helps for somebody)
    <?php
    $rozmery = $_POST['rozmery'];
    $rozm_textx = $_POST['rozm_textx'];
    $rozm_texty = $_POST['rozm_texty'];
    $farebnost = $_POST['farebnost'];
    $papier = $_POST['papier'];
    $p_leskly = $_POST['p_leskly'];
    $p_matny = $_POST['p_matny'];
    $p_iny = $_POST['p_iny'];
    $naklad = $_POST['naklad'];
    $pocetdruhov = $_POST['pocetdruhov'];
    $lomy = $_POST['lomy'];
    $laminacia = $_POST['laminacia'];
    $parcialnylak = $_POST['parcialnylak'];
    
    /*$rozmfix = $rozmery ;
    $rozmvar = echo "ine rozmery: ".$rozm_textx." x ".$rozm_texty."<br />";
    */
    if ($rozmery == "iny") {
        $x_rozm_text = $rozm_textx;
        $y_rozm_text = $rozm_texty;
        
        $vs_rozmery = "Iné rozmery (SxV): ".$x_rozm_text." x ".$y_rozm_text;    
    
    echo "Rozmery: ".$vs_rozmery."<br />";        
    
    }
    else {
        $vs_rozmery = $rozmery;
    echo "Rozmery: ".$vs_rozmery."<br />";
    }
    /*echo "Rozmery: ".$rozmery ."  Iné rozmery (SxV): ".$rozm_textx." x ".$rozm_texty."<br />";
    */
    echo "Farebnost: ".$farebnost ."<br />";
    
    if ($papier == "leskly") {
        $typ_papier = $p_leskly;
     echo "Papier: ".$papier." ".$typ_papier."<br />";        
    }
    if ($papier == "matny") {
        $typ_papier = $p_matny;
     echo "Papier: ".$papier." ".$typ_papier."<br />";        
    }
    if ($papier == "iny") {
        $typ_papier = $p_iny;
     echo "Papier: ".$papier." ".$typ_papier."<br />";        
    }
    
    /*echo "Papier: ".$papier; echo $p_leskly; echo $p_matny; echo $p_iny;"<br />";
    */
    
    echo "Naklad: ".$naklad ."<br />";
    echo "Pocet druhov: ".$pocetdruhov ."<br />";
    echo "Lomy: ".$lomy ."<br />";
    
    if ($laminacia == "l_mat") {
        $typ_laminacia = $parcialnylak;
     echo "Laminacia: ".$laminacia." - ".$typ_laminacia."<br />";        
    }
    else{
        echo "Laminacia: ".$laminacia;    
    }
    /*echo "Laminacia: ".$laminacia; echo $parcialnylak;"<br />";
    */
    
    $Name = "Jencike"; //senders name
    $email = "email@adress.com"; //senders e-mail adress
    $recipient = "xy@vzl.com"; //recipient
    $mail_body = "Rozmery: ".$vs_rozmery."\n"; //mail body
    $mail_body .= "Farebnost: ".$farebnost."\n";
    $mail_body .= "Papier: ".$papier." - ".$typ_papier."\n";
    $mail_body .= "Naklad: ".$naklad."\nPocet druhov: ".$pocetdruhov."\n";
    $mail_body .= "Lomy: ".$lomy ."\nLaminacia :".$laminacia." - ".$typ_laminacia;
    /*$mail_body = "Normal uzenet"; //mail body
    */
    $subject = "Fejlec"; //subject
    $header = "From: ". $Name . " <" . $email . ">\r\n"; //optional headerfields
    
    mail($recipient, $subject, $mail_body, $header); //mail command :)
    
    
    ?>
    
    PHP:
    I posted only the php, the html is the same.

    But, I dont have any idea, how to calculate this form.
    for example if I want to calculate with this. ...
     
    lostsouler, Nov 10, 2010 IP