2016-10-10 11 views
2

Ich habe ein paar Zeilen PHP-Code geschrieben, um sicherzustellen, dass die Formularelemente sowieso nicht leer sind. Der Algorithmus war, wenn das Formularfeld nicht leer war, würde es echo out Okay "und wenn das Formular abgelegt wurde leer, es würde Echo" nicht okay "aus. Aber das Problem ist, jedes Mal, wenn ich dieses Formular einreichen, obwohl es nicht richtig ausgefüllt, es gibt immer noch" Okay ". Ich habe überprüft der Code aber jede problem.here nicht mein Code finden könnte, ist unten angegeben, bitte beachten Sie, wenn Sie Fehler finden und lassen Sie mich wissen:PHP Form Validierung funktioniert nicht wie erwartet

<?php 
if(isset($_GET['day']) && isset($_GET['date']) && isset($_GET['year'])){ 
    $day=isset($_GET['day']); 
    $date=isset($_GET['date']); 
    $year=isset($_GET['year']); 
    if(!empty($day) && !empty($date) && !empty($year)){ 
     echo "okay"; 
    }else{ 
     echo "please fill"; 
    } 
} 

?> 
<form action="herok.php" method="GET"> 
    Day:<br><input type="text" name="day" /><br> 
    Date:<br><input type="text" name="date" /><br> 
    Year:<br><input type="text" name="year" /><br> 
    <input type="submit" value="submit" /> 
</form> 

Antwort

0

Bitte versuchen Sie dies:

<?php 
if(isset($_GET['day']) && isset($_GET['date']) && isset($_GET['year'])){ 
    $day=!empty($_GET['day']) ? $_GET['day'] : '' ; 
    $date=!empty($_GET['date']) ? $_GET['date'] : '' ; 
    $year=!empty($_GET['year']) ? $_GET['year'] : '' ; 
    if(!empty($day) && !empty($date) && !empty($year)){ 
     echo "okay"; 
    } else{ 
     echo "please fill"; 
    } 
} 

?> 
0

isset innerhalb des if-Anweisung Block entfernen:

<?php 
if(isset($_GET['day']) && isset($_GET['date']) && isset($_GET['year'])){ 
    $day=$_GET['day']; 
    $date=$_GET['date']; 
    $year=$_GET['year']; 
    if(!empty($day) && !empty($date) && !empty($year)){ 
     echo "okay"; 
    }else{ 
     echo "please fill"; 
    } 
}else{ 
    echo "please fill"; 
} 
+0

arbeitete wie Charme..danke –

+0

@herokeksiddiqi wie wäre es mit der Annahme einer Antwort? – someone

0

wie wie diese es einfacher machen.

$vars = array('day','date','year'); 
    $cecked = true; 
    foreach($vars as $v) { 
     if (!isset($_GET[$v]) || empty($_GET[$v])) { 
      $cecked = false; 
     } 
    } 
    if (!$cecked) { 
    echo "please fill all require data"; 
    exit(); 

    } else { 
echo "oke"; 
} 
Verwandte Themen