2015-06-25 5 views
0

У меня есть enquete. 1 страниц выглядит так:Сохранить выбранное значение после проверки по почте

<form method="POST"> 
<input type="hidden" value="true" id="x" name="x"> 
    <table> 
     <b>How relevant where the topics for your current and/or future business?</b> 
     <hr /> 
     <tr>  
      <input type="hidden" value="1" name="question1"> 
      <td><input type="radio" name="answer1" value="1">1</td> 
      <td><input type="radio" name="answer1" value="2">2</td> 
      <td><input type="radio" name="answer1" value="3">3</td> 
      <td><input type="radio" name="answer1" value="4">4</td> 
      <td><input type="radio" name="answer1" value="5">5</td> 
      <td><input type="radio" name="answer1" value="6">6</td> 
      <td><input type="radio" name="answer1" value="7">7</td> 
      <td><input type="radio" name="answer1" value="8">8</td> 
      <td><input type="radio" name="answer1" value="9">9</td> 
      <td><input type="radio" name="answer1" value="10">10</td> 
      <td> 
       <textarea rows="4" cols="50" name="comment1"></textarea> 
      </td> 
     </tr> 
    </table> 
     <br /><br /> 
    <table> 
     <b>How did you value the networking opportunity?</b> 
     <hr /> 
     <tr> 
      <input type="hidden" value="2" name="question2"> 
      <td><input type="radio" name="answer2" value="1">1</td> 
      <td><input type="radio" name="answer2" value="2">2</td> 
      <td><input type="radio" name="answer2" value="3">3</td> 
      <td><input type="radio" name="answer2" value="4">4</td> 
      <td><input type="radio" name="answer2" value="5">5</td> 
      <td><input type="radio" name="answer2" value="6">6</td> 
      <td><input type="radio" name="answer2" value="7">7</td> 
      <td><input type="radio" name="answer2" value="8">8</td> 
      <td><input type="radio" name="answer2" value="9">9</td> 
      <td><input type="radio" name="answer2" value="10">10</td> 
      <td> 
       <textarea rows="4" cols="50" name="comment2"></textarea> 
      </td> 
     </tr> 
    </table> 
    <input id="enquete_next" type="submit" name="Add" value="Next"> 
<?php 
//If the form gets submitted, check if everything is okay. 
if(isset($_POST['x'])){ 
$validcomment = false; 
     //validate if the answers are not empty. if they are empty go the the else statement. 
     if(!empty($_POST['answer1'])){ 
      if(!empty($_POST['answer2'])){ 
       $validcomment = true; 
      }else{ 
       echo "Please fill in all the questions!" . "<br>"; 
      } 
     }else{ 
       echo "Please fill in all the questions!" . "<br>"; 
     } 
     //If the form is filled in, and checked. Then do this! 
     if($validcomment){ 
      insert_page1(); 
     } 
} 
?> 
</form> 

Следующий код работает. Поэтому, когда я заполняю ответ 1, но оставляю ответ 2 пустым. Я получаю сообщение: Пожалуйста, заполните все вопросы.

Однако, я хотел бы, чтобы форма сохраняла свои значения. поэтому я должен заполнить пустой ответ вместо всей формы.

Потому что прямо сейчас, когда он проверяет. Форма пуста, и я должен ее заполнить снова и снова.

+0

Поиск в google для проверки формы в Core PHP –

+0

Подтвердить форму сначала перед отправкой –

+0

Сохранить в сеансеСтоимость или сеанс php – mplungjan

ответ

1

Try ниже код

<form method="POST"> 
<input type="hidden" name="hiden_field" value="<?php $_POST['hiden_field'] ?>" id="x" name="x"> 
    <table> 
     <b>How relevant where the topics for your current and/or future business?</b> 
     <hr /> 
     <tr>  
      <input type="hidden" value="1" name="question1"> 
      <td><input type="radio" name="answer1" value="1" <?php if($_POST['answer1']==1){ echo "checked"; } ?>>1</td> 
      <td><input type="radio" name="answer1" value="2" <?php if($_POST['answer1']==2){ echo "checked"; } ?>>2</td> 
      <td><input type="radio" name="answer1" value="3" <?php if($_POST['answer1']==3){ echo "checked"; } ?>>3</td> 
      <td><input type="radio" name="answer1" value="4" <?php if($_POST['answer1']==4){ echo "checked"; } ?>>4</td> 
      <td><input type="radio" name="answer1" value="5" <?php if($_POST['answer1']==5){ echo "checked"; } ?>>5</td> 
      <td><input type="radio" name="answer1" value="6" <?php if($_POST['answer1']==6){ echo "checked"; } ?>>6</td> 
      <td><input type="radio" name="answer1" value="7" <?php if($_POST['answer1']==7){ echo "checked"; } ?>>7</td> 
      <td><input type="radio" name="answer1" value="8" <?php if($_POST['answer1']==8){ echo "checked"; } ?>>8</td> 
      <td><input type="radio" name="answer1" value="9" <?php if($_POST['answer1']==9){ echo "checked"; } ?>>9</td> 
      <td><input type="radio" name="answer1" value="10" <?php if($_POST['answer1']==10){ echo "checked"; } ?>>10</td> 
      <td> 
       <textarea rows="4" cols="50" name="comment1"><?php if($_POST['comment1']){ echo $_POST['comment1']; } ?></textarea> 
      </td> 
     </tr> 
    </table> 
     <br /><br /> 
    <table> 
     <b>How did you value the networking opportunity?</b> 
     <hr /> 
     <tr> 
      <input type="hidden" value="2" name="question2"> 
      <td><input type="radio" name="answer2" value="1" <?php if($_POST['answer2']==1){ echo "checked"; } ?>>1</td> 
      <td><input type="radio" name="answer2" value="2" <?php if($_POST['answer2']==2){ echo "checked"; } ?>>2</td> 
      <td><input type="radio" name="answer2" value="3" <?php if($_POST['answer2']==3){ echo "checked"; } ?>>3</td> 
      <td><input type="radio" name="answer2" value="4" <?php if($_POST['answer2']==4){ echo "checked"; } ?>>4</td> 
      <td><input type="radio" name="answer2" value="5" <?php if($_POST['answer2']==5){ echo "checked"; } ?>>5</td> 
      <td><input type="radio" name="answer2" value="6" <?php if($_POST['answer2']==6){ echo "checked"; } ?>>6</td> 
      <td><input type="radio" name="answer2" value="7" <?php if($_POST['answer2']==7){ echo "checked"; } ?>>7</td> 
      <td><input type="radio" name="answer2" value="8" <?php if($_POST['answer2']==8){ echo "checked"; } ?>>8</td> 
      <td><input type="radio" name="answer2" value="9" <?php if($_POST['answer2']==9){ echo "checked"; } ?>>9</td> 
      <td><input type="radio" name="answer2" value="10" <?php if($_POST['answer2']==10){ echo "checked"; } ?>>10</td> 
      <td> 
       <textarea rows="4" cols="50" name="comment2"><?php if($_POST['comment2']){ echo $_POST['comment2']; } ?></textarea> 
      </td> 
     </tr> 
    </table> 
    <input id="enquete_next" type="submit" name="Add" value="Next"> 
<?php 
//If the form gets submitted, check if everything is okay. 
if(isset($_POST['x'])){ 
$validcomment = false; 
     //validate if the answers are not empty. if they are empty go the the else statement. 
     if(!empty($_POST['answer1'])){ 
      if(!empty($_POST['answer2'])){ 
       $validcomment = true; 
      }else{ 
       echo "Please fill in all the questions!" . "<br>"; 
      } 
     }else{ 
       echo "Please fill in all the questions!" . "<br>"; 
     } 
     //If the form is filled in, and checked. Then do this! 
     if($validcomment){ 
      insert_page1(); 
     } 
} 
?> 
</form> 
0

Данные можно хранить в сеансах.

session_start(); 
$_SESSION['data'] = $_POST['data']; 

А потом в форме, вы можете показать, как это:

session_start(); 
<input type="text" name="data" value="<?php echo $_SESSION['data'];?>"/> 

Подробнее о переменных сессии: Session variables - PHP.net

А также, как упоминалось @Swaraj Гири. Вы должны всегда дезинфицировать данные пользователя. Вот вопрос, на StackOverflow, что есть хорошо объяснена ответ о том, как подойти, что: What's the best method for sanitizing user input with PHP?

+0

Пожалуйста, добавьте примечание о дезинфекции пользовательских входов. –

+0

Благодарим вас за вход @SwarajGiri –

0
<form method="POST"> 
<input type="hidden" value="true" id="x" name="x"> 
    <b>How relevant where the topics for your current and/or future business?</b> 
     <hr /> 
    <table> 

     <tr>  
      <td><input type="hidden" value="1" name="question1"></td> 
      <td><input type="radio" name="answer1" value="1">1</td> 
      <td><input type="radio" name="answer1" value="2">2</td> 
      <td><input type="radio" name="answer1" value="3">3</td> 
      <td><input type="radio" name="answer1" value="4">4</td> 
      <td><input type="radio" name="answer1" value="5">5</td> 
      <td><input type="radio" name="answer1" value="6">6</td> 
      <td><input type="radio" name="answer1" value="7">7</td> 
      <td><input type="radio" name="answer1" value="8">8</td> 
      <td><input type="radio" name="answer1" value="9">9</td> 
      <td><input type="radio" name="answer1" value="10">10</td> 
      <td> 
       <textarea rows="4" cols="50" name="comment1"><?php echo $_POST['comment1'];?></textarea> 
      </td> 
     </tr> 
    </table> 
     <br /><br /> 
     <b>How did you value the networking opportunity?</b> 
     <hr /> 
    <table> 

     <tr> 
      <td><input type="hidden" value="2" name="question2"></td> 
      <td><input type="radio" name="answer2" value="1">1</td> 
      <td><input type="radio" name="answer2" value="2">2</td> 
      <td><input type="radio" name="answer2" value="3">3</td> 
      <td><input type="radio" name="answer2" value="4">4</td> 
      <td><input type="radio" name="answer2" value="5">5</td> 
      <td><input type="radio" name="answer2" value="6">6</td> 
      <td><input type="radio" name="answer2" value="7">7</td> 
      <td><input type="radio" name="answer2" value="8">8</td> 
      <td><input type="radio" name="answer2" value="9">9</td> 
      <td><input type="radio" name="answer2" value="10">10</td> 
      <td> 
       <textarea rows="4" cols="50" name="comment2"><?php echo $_POST['comment2'];?></textarea> 
      </td> 
     </tr> 
    </table> 
    <input id="enquete_next" type="submit" name="Add" value="Next"> 
<?php 
//If the form gets submitted, check if everything is okay. 
if(isset($_POST['x'])){ 
$validcomment = false; 
     //validate if the answers are not empty. if they are empty go the the else statement. 
     if(!empty($_POST['answer1'])){ 
      if(!empty($_POST['answer2'])){ 
       $validcomment = true; 
      }else{ 
       echo "Please fill in all the questions!" . "<br>"; 
      } 
     }else{ 
       echo "Please fill in all the questions!" . "<br>"; 
     } 
     //If the form is filled in, and checked. Then do this! 
     if($validcomment){ 
      insert_page1(); 
     } 
} 
?> 
</form> 

я мог исправить текстовую область, но не радиокнопку !!!
Keep radio button selected after a form submit
10 для радио кнопки !!

Смежные вопросы