2014-01-27 2 views
0

Я выполняю проверки PHP для своих значений html. Однако, когда проверка PHP завершается с ошибкой и я возвращаюсь на страницу, данные формы тэга select очищаются. Есть в любом случае, чтобы сделать сохранить и перезагрузить данные формы в PHPphp - После проверки, почему мои данные тега select очищаются

<?php 
$qualific=$passingyear=""; 
$qualificErr=$passingyearErr=""; 

if ($_SERVER['REQUEST_METHOD']== "POST") { 
    $valid = true; 
    //qualification validations starts here 
    if(empty($_POST["qualif"])) 
    { 
     $qualificErr="* Qualification is Required"; 
     $valid=false; 
    } 
    else 
    { 
     $qualific=test_input($_POST["qualif"]); 
    } 
     //qualification validations starts here 

     /*yearOfPassing validation starts here*/ 
     if(empty($_POST["yearpass"])) 
    { 
     $passingyearErr="* Year Of Pass is Required"; 
     $valid=false; 
    } 
    else 
    { 
     $passingyear=test_input($_POST["yearpass"]); 
    } 
     /*yearOfPassing validation starts here*/ 
    //if valid then redirect 
    if($valid){ 
     include 'database.php'; 
     echo '<META HTTP-EQUIV="Refresh" Content="0; URL=success.php">';  
    exit; 
    } 
} 

<form method="post" action="<?php htmlspecialchars($_SERVER["PHP_SELF"]);?>"> 
<label>Qualification<span class="error">*</span>:</label> 
    <select name="qualif"> 
     <option label="Select"></option> 
     <option>Below SSC(10 Std)</option> 
     <option>SSC(10 Std) passed</option> 
     <option>HSC(12 Std) passed</option> 
     <option>Graduate</option> 
     <option>Post Graduate</option> 
    </select> 
    <span class="error"><?php echo $qualificErr?></span> <br /> 
    <br /> 
    <label>Year of passing<span class="error">*</span>: </label> 
    <select name="yearpass"> 
     <option label="Select"></option> 
     <option>1975</option> 
     <option>1976</option> 
     <option>1977</option> 
    </select> 
</form> 
+0

возможно дубликат [Оставьте значения, выбранные после отправки формы] (http://stackoverflow.com/questions/2246227/keep-values-selected-after-form -подробность) – Rikesh

ответ

1

попробовать в каждой опции тега <?php if($_POST["qualif"] == "<value>") echo "selected"; ?>.

как

<option <?php if($_POST["qualif"] == "Below SSC(10 Std)") echo "selected"; ?>>Below SSC(10 Std)</option> 
+0

спасибо и так много его работы :) – Geetha

0

В настоящее время вы используете <option> без значений.

Используйте как:

<option value="SSC" <?php if(isset($_POST['qualif']) && $_POST['qualif'] == 'SSC') { echo "selected"; } ?> >SSC</option>

0
  1. ваш отсутствуют value параметр внутри <option>.
  2. вам нужно добавить некоторый код внутри тега <option>

Пожалуйста, попробуйте следующий код надежде, что это позволит решить проблему.

<select name="qualif"> 
    <option label="Select"></option> 
    <option value="Below SSC(10 Std)" <?php if($qualific == 'Below SSC(10 Std)') {?> selected <?php } ?>>Below SSC(10 Std)</option> 
    <option value=">SSC(10 Std) passed" <?php if($qualific == '>SSC(10 Std) passed') {?> selected <?php } ?>>SSC(10 Std) passed</option> 
    <option value="HSC(12 Std) passed" <?php if($qualific == 'HSC(12 Std) passed') {?> selected <?php } ?>>HSC(12 Std) passed</option> 
    <option value="Graduate" <?php if($qualific == 'Graduate') {?> selected <?php } ?>>Graduate</option> 
    <option value="Post Graduate" <?php if($qualific == 'Post Graduate') {?> selected <?php } ?>>Post Graduate</option> 
</select> 
<span class="error"><?php echo $qualificErr?></span> <br /> 
<br /> 
<label>Year of passing<span class="error">*</span>: </label> 
<select name="yearpass"> 
    <option label="Select"></option> 
    <option value="1975" <?php if($passingyear == '1975') {?> selected <?php } ?>>1975</option> 
    <option value="1976" <?php if($passingyear == '1976') {?> selected <?php } ?>>1976</option> 
    <option value="1977" <?php if($passingyear == '1977') {?> selected <?php } ?>>1977</option> 
</select> 
0

Вы должны использовать JQuery

<script type="text/javascript"> 
$(document).ready(function() 
{ 
    $("#id").val("<?php echo $_POST['qualif']; ?>"); 
}); 
</script> 
Смежные вопросы