Jump to content

if, else if problem


Steefff

Recommended Posts

The fields called naam (name) and email arent filled in, yet it shows me 'pag3'.

(example: http://www.allesdesign.nl/bjorn/test.php )

how to solve this problem?

 

//SHORT CODE
<?php 
if ( $_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['doorgaan'],$_POST['onderwerp'],$_POST['product'])) { 
    echo 'pag2'; 
} 
else if ( $_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['verzenden'],$_POST['naam'],$_POST['email'])) { 
       echo 'pag3'; /*WHEN I PRESS SUBMIT, IT GOES TO PAG3 WITHOUT FILLING 'NAAM' (name) AND EMAIL */ 
} 
else { 
       echo 'pag1'; 
} 
?> 

//FULL CODE
<?php 
$aErrors = array(); 

if ( $_SERVER['REQUEST_METHOD'] == 'POST'  && 
   isset($_POST['doorgaan'],$_POST['onderwerp'],$_POST['product'])) { 
    
    if (isset($_POST['verzenden']) && !isset($_POST['naam'])) { 
    $aErrors['naam'] = 'Vul uw naam in a.u.b.'; 
    } 
    
    if (isset($_POST['verzenden']) && !isset($_POST['email'])) { 
      $aErrors['email'] = 'Vul uw E-mail adres (goed) in a.u.b.'; 
    } 
        ?> 
        <form action="test.php" method="post" class="formulier2"> 
          <p>Vul het onderstaande formulier in. De velden met een <em>*</em> zijn verplicht.</p> 
          <fieldset> 
            <legend>Onderwerp</legend> 
            <ol> 
              <li> 
                <?php echo $_POST['onderwerp']; ?> 
              </li> 
            </ol> 
          </fieldset> 
          <br /> 
          <fieldset> 
            <legend>Persoonlijke gegevens <em>*</em></legend> 
            <ol> 
                  <?php if(isset($aErrors['naam']) ){ 
                echo '<li class="error">'; 
                echo $aErrors['naam']; 
                echo '</li>'; 
                } 
                ?> 
              <li> 
                <label for="naam">Naam<em>*</em></label> 
                <input id="naam" name="naam" value="" /> 
              </li> 
              <li> 
                <label for="adres">Adres<em>*</em></label> 
                <input id="adres" name="adres" value="" /> 
              </li> 
              <li> 
                <label for="postcode">Postcode<em>*</em></label> 
                <input id="postcode" name="postcode" value="" /> 
              </li> 
              <li> 
                <label for="plaats">Plaats<em>*</em></label> 
                <input id="plaats" name="plaats" value="" /> 
              </li> 
                <?php if(isset($aErrors['email']) ){ 
                echo '<li class="error">'; 
                echo $aErrors['email']; 
                echo '</li>'; 
                } 
                ?> 
              <li> 
                <label for="email">E-mail adres<em>*</em></label> 
                <input id="email" name="email" value="" /> 
              </li> 
              <li> 
                <label for="telefoon">Telefoonnummer</label> 
                <input id="telefoon" name="telefoon" value="" /> 
              </li> 
              <li> 
                <label for="datum">Huurdatum<em>*</em></label> 
                <input id="datum" name="datum" value="" /> 
              </li> 
              <li> 
                <label for="tijd">Bezorgtijd<em>*</em></label> 
                <input id="tijd" name="tijd"value=""  /> 
              </li> 
            </ol> 
            </fieldset> 
          <br /> 
          <fieldset> 
            <legend>Producten</legend> 
            <ol> 
             <?php 
                foreach($producten as $p) { 
                    echo ('<li>'); 
                      echo ('- ' . $p); 
                    echo ('</li>'); 
                } 
            ?> 
            </ol> 
          </fieldset> 
          <input type="submit" name="verzenden" value="Verzenden" /> 
        </form> 
        <?php 
    } 
else if ( $_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['verzenden'],$_POST['naam'],$_POST['email'])) { 
        echo ('pag3'); 
        echo ($_POST['naam']); 
        echo ($_POST['email']); 
        foreach($aErrors as $error) { 
            echo ($error); 
        } 
    } 
else 
    {    
        if(isset($_POST['product'])) { 
        $producten = $_POST['product']; 
        } 
        if ( isset($_POST['doorgaan']) && !isset($_POST['onderwerp'])) { 
            $aErrors['onderwerp'] = 'Selecteer a.u.b een onderwerp.'; 
        } 
        if ( isset($_POST['doorgaan']) && !isset($_POST['product'])) { 
            $aErrors['product'] = 'U heeft geen product(en) geslecteerd.'; 
        } 
        ?> 
        <form action="test.php" method="post" class="formulier1"> 
          <p>Vul het onderstaande formulier in. De velden met een <em>*</em> zijn verplicht.</p> 
          <fieldset> 
            <legend>Selecteer het onderwerp <em>*</em></legend> 
            <ol> 
            <?php if(isset($aErrors['onderwerp'])) { 
                echo '<li class="error">'; 
                echo $aErrors['onderwerp']; 
                echo '</li>'; 
            } 
            ?> 
              <li> 
                <label for="reservering">Reservering plaatsen</label> 
                <input type="radio" id="reservering" name="onderwerp" value="Reservering plaatsen" /> 
              </li> 
              <li> 
                <label for="offerte">Offerte aanvragen</label> 
                <input type="radio" id="offerte" name="onderwerp" value="Offerte aanvragen" /> 
              </li> 
            </ol> 
          </fieldset> 
          <br /> 
          <fieldset> 
            <legend>Selecteer de betreffende producten <em>*</em></legend> 
            <ol> 
            <?php if(isset($aErrors['product']) ){ 
                echo '<li class="error">'; 
                echo $aErrors['product']; 
                echo '</li>'; 
            } 
            ?> 
              <li> 
                <h1>Kids amusement</h1>                
              </li> 
              <li> 
                <label for="springkussenwestern">Springkussen Western</label> 
                <input type="checkbox" id="springkussenwestern" name="product[]" value="Springkussen Western" /> 
              </li> 
                <li> 
                <label for="springkussenaap">Springkussen Aap</label> 
                <input type="checkbox" id="springkussenaap" name="product[]" value="Springkussen Aap" /> 
              </li> 
              <li> 
                <label for="kinderbierbankjes">Kinderbierbankjes</label> 
                <input type="checkbox" id="kinderbierbankjes" name="product[]" value="Kinderbierbankjes" /> 
              </li> 
              <li> 
                <label for="limonadeolifant">Limonade Olifant</label> 
                <input type="checkbox" id="limonadeolifant" name="product[]" value="Limonade Olifant" /> 
              </li> 
              <li> 
                <h1>Party Verhuur</h1>                
              </li> 
              <li> 
                <label for="partytent4x3">Partytent 4x3</label> 
                <input type="checkbox" id="partytent4x3" name="product[]" value="Partytent 4x3" /> 
              </li> 
              <li> 
                <label for="partytent6x3">Partytent 6x3</label> 
                <input type="checkbox" id="partytent6x3" name="product[]" value="Partytent 6x3" /> 
              </li> 
              <li> 
                <label for="partytent8x4">Partytent 8x4</label> 
                <input type="checkbox" id="partytent8x4" name="product[]" value="Partytent 8x4" /> 
              </li> 
              <li> 
                <label for="lichtslang">Lichtslang</label> 
                <input type="checkbox" id="lichtslang" name="product[]" value="Lichtslang" /> 
              </li> 
              <li> 
                <label for="statafel">Statafel</label> 
                <input type="checkbox" id="statafelzonder" name="product[]" value="Statafel zonder rok" /> 
                <label class="naastelkaar" for="statafelzonder" >zonder rok    </label> 
                <input type="checkbox" id="statafelmet" name="product[]" value="Statafel met rok" /> 
                <label class="naastelkaar" for="statafelmet" >met rok    </label> 
              </li> 
              <li> 
                <label for="barkruk">Barkruk</label> 
                <input type="checkbox" id="barkruk" name="product[]" value="Barkruk" /> 
              </li> 
              <li> 
                <label for="buffettafel">Buffettafel</label> 
                <input type="checkbox" id="buffettafel" name="product[]" value="Buffettafel" /> 
              </li> 
              <li> 
                <label for="terrasheater">Terrasheater</label> 
                <input type="checkbox" id="heaterzonder" name="product[]" value="Terrasheater zonder gas" /> 
                <label class="naastelkaar" for="heaterzonder" >Zonder gas    </label> 
                <input type="checkbox" id="heater5kg" name="product[]" value="Terrasheater met 5kg gas" /> 
                <label class="naastelkaar" for="heater5kg" >5kg gas    </label> 
                <input type="checkbox" id="heater10kg" name="product[]" value="Terrasheater met 10kg gas" /> 
                <label class="naastelkaar" for="heater10kg" >10kg gas    </label> 
              </li> 
              <li> 
                <label for="bierpakket20">Biertap pakket 20 liter</label> 
                <input type="checkbox" id="jupiler20" name="product[]" value="Biertap pakket 20 liter - Jupiler" /> 
                <label class="naastelkaar" for="jupiler20" >Jupiler    </label> 
                <input type="checkbox" id="dommelsch20" name="product[]" value="Biertap pakket 20 liter - Dommelsch" /> 
                <label class="naastelkaar" for="dommelsch20" >Dommelsch    </label> 
                <input type="checkbox" id="hertogjan20" name="product[]" value="Biertap pakket 20 liter - Hertog-Jan" /> 
                <label class="naastelkaar" for="hertogjan20" >Hertog-Jan    </label> 
              </li> 
              <li> 
                <label for="bierpakket50">Biertap pakket 50 liter</label> 
                <input type="checkbox" id="jupiler50" name="product[]" value="Biertap pakket 50 liter - Jupiler"/> 
                <label class="naastelkaar" for="jupiler50">Jupiler    </label> 
                <input type="checkbox" id="dommelsch50" name="product[]" value="Biertap pakket 50 liter - Dommelsch"/> 
                <label class="naastelkaar" for="dommelsch50">Dommelsch    </label> 
                <input type="checkbox" id="hertogjan50" name="product[]" value="Biertap pakket 50 liter - Hertog-Jan"/> 
                <label class="naastelkaar" for="hertogjan50">Hertog-Jan    </label> 
              </li> 
              <li> 
                <label for="perfectdraft">Philips Perfectdraft met coolkeeper</label> 
                <input type="checkbox" id="perfectdraft" name="product[]" value="Philips Perfectdraft" /> 
              </li> 
              <li> 
                <label for="pakket1">Pakket 1</label> 
                <input type="checkbox" id="pakket1" name="product[]" value="Pakket 1" /> 
              </li> 
              <li> 
                <label for="pakket1">Pakket 2</label> 
                <input type="checkbox" id="pakket2" name="product[]" value="Pakket 2"/> 
              </li> 
              <li> 
                <label for="pakket1">Pakket 3</label> 
                <input type="checkbox" id="pakket3" name="product[]" value="Pakket 3"/> 
              </li> 
              <li> 
                <label for="pakket1">Pakket 4</label> 
                <input type="checkbox" id="pakket4" name="product[]" value="Pakket 4"/> 
              </li> 
              <li> 
                <label for="pakket1">Pakket 5</label> 
                <input type="checkbox" id="pakket5" name="product[]" value="Pakket 5"/> 
              </li> 
              <li> 
                <label for="pakket1">Pakket 6</label> 
                <input type="checkbox" id="pakket6" name="product[]" value="Pakket 6"/> 
              </li> 
            </ol> 
          </fieldset> 
          <input type="submit" name="doorgaan" value="Doorgaan" /> 
          <input type="reset" name="reset" value="Reset" /> 
        </form> 
    <?php 
    } 
    ?> 
</body> 
</html>

Link to comment
https://forums.phpfreaks.com/topic/201189-if-else-if-problem/
Share on other sites

If you do a

<?php
if (isset($_POST['verzenden'])) {
   echo '<pre>' .print_r($_POST,true) . '</pre>';
}
?>

You will notice that the fields in question are set, but are set to a zero length string.

 

The correct why to do this test is:

<?php
if ( $_SERVER['REQUEST_METHOD'] == 'POST' && strlen($_POST['doorgaan']) > 0 && strlen($_POST['onderwerp']) > 0 && strlen($_POST['product']) > 0) { 
    echo 'pag2'; 
} 
elseif ( $_SERVER['REQUEST_METHOD'] == 'POST' && strlen($_POST['verzenden']) > 0 && strlen($_POST['naam']) > 0 && strlen($_POST['email']) > 0) { 
       echo 'pag3'; /*WHEN I PRESS SUBMIT, IT GOES TO PAG3 WITHOUT FILLING 'NAAM' (name) AND EMAIL */ 
} 
else { 
       echo 'pag1'; 
} 
?> 

 

Ken

Link to comment
https://forums.phpfreaks.com/topic/201189-if-else-if-problem/#findComment-1055584
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.