Хранение данных формы с использованием HTML и PHP - PullRequest
1 голос
/ 21 ноября 2011

У меня есть форма с 50 вопросами. После того как пользователь заполнил форму, я хочу перевести их на другую страницу, чтобы сначала отменить / подтвердить, что они закончили с формой. Мой вопрос: если они выбирают «Отмена», как мне вернуть все поля, на которые был дан ответ в форме?

EDITED

Я отредактировал свой вопрос, чтобы показать мой код, потому что я борюсь:

$sql1="SELECT * FROM ex_question WHERE test_name = '$tid' ORDER BY RAND()";
$result1=mysql_query($sql1);
echo "<form method='post' action='....'>";
while($row1 = mysql_fetch_array($result1))
{
    $test_name=$row1['test_name'];
    $q_nr=$row1['q_nr'];
    $q_type=$row1['q_type'];
    $question=$row1['question'];
    $option1=$row1['option1'];
    $option2=$row1['option2'];
    $option3=$row1['option3'];

echo "$question";

if ($q_type != 'mr') {
if($option1!="") {
echo "<input type='radio' name='question[$q_nr]' value='A'>$option1<BR>";
} else {
echo ''; }

if($option2!="") {
echo "<input type='radio' name='question[$q_nr]' value='B'>$option2<BR>";
} else {
echo ''; }

if($option3!="") {
echo "<input type='radio' name='question[$q_nr]' value='C'>$option3<BR>";
} else {
echo ''; }

} else { // else if not <> mr

if($option1!="") {
echo "<input type='checkbox' name='question[$q_nr][]' value='A'>$option1<BR>";
} else {
echo ''; } 
if($option2!="") {
echo "<input type='checkbox' name='question[$q_nr][]' value='B'>$option2<BR>";
} else {
echo ''; } 
if($option3!="") {
echo "<input type='checkbox' name='question[$q_nr][]' value='C'>$option3<BR>";
} else {
echo ''; } 
} //end else if q_type <> mr
echo "<BR>";
echo "<BR>";
echo "</p>";
} //end while row1
echo "<input type='submit' value='Finish'>";
echo "</form>";

Ответы [ 4 ]

1 голос
/ 21 ноября 2011

Сделайте кнопку Отмена a Отправить и отправьте ее обратно в исходный вопросник.Там вы можете сделать так:

<input type="text" name="q1" value="<?=isset($_POST['q1']) ? $_POST['q1'] : '';?>" />

Или:

<input type="radio" name="q2" value="A" <?=isset($_POST['q2']) && $_POST['q2'] == 'A' ? 'checked="checked"' : '';?>" />
<input type="radio" name="q2" value="B" <?=isset($_POST['q2']) && $_POST['q2'] == 'B' ? 'checked="checked"' : '';?>" />

То же самое относится к option элементам внутри select (selected = "selected").

1 голос
/ 21 ноября 2011

Самое простое решение было бы добавить:

<INPUT type=button value="Cancel" onClick="history.back();">

Когда вы вернетесь, форма все еще будет там.

1 голос
/ 21 ноября 2011

Передайте массив $_POST или $_GET на страницу подтверждения, и, если они нажмут кнопку отмены, передайте массив обратно на страницу и заполните элементы.

0 голосов
/ 21 ноября 2011

Вы можете просто использовать $_REQUEST['Answer'] в значение тег формы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...