2011-11-21 66 views
1

我有一个有50个问题的表单。用户填写完表单后,我想将他们带到另一个页面以首先取消/确认他们已完成表单。我的问题是如果他们选择取消,我该如何放回所有在表格中回答的字段?使用HTML&php存储表单数据

EDITED

我已经编辑我的问题,以显示我的代码,因为我strugling:

$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>"; 

回答

1

使取消按钮一个提交,并让它回发到原来的问卷。在那里,你可以这样做:

<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(选择= “选择”)。

+0

您可以请如此善良,看看我编辑的问题 – Wilest

+1

对不起,但我没有看到任何额外的问题,我可以回答? – CodeCaster

+0

我的歉意,我想实现你的代码在我的原始,但我不能得到它的工作,它看起来像这样'回声““;' – Wilest

1

传递$_POST$_GET阵列到确认页面,如果他们打取消,将数组传递回页面,并填写元素。

1

最简单的解决办法是增加:

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

当你回去,形式将仍然存在。

+0

嗨,我试过这个,但它扔掉表格数据 – Wilest

0

您只能使用$_REQUEST['Answer']中的表单标记。

+0

嗨贾斯汀是有问题与我的意见 –

相关问题