我有一个.php页面,可以多次通过表单调用自己。用户有9个输入选项,由图像表示。假设.php文件名为quiz.php:
<?php
...blah blah php session start variable stuff
$client_answer = $_POST['input_from_test_1'] ;
$true_answer = $_SESSION["1-2-2_true_answer"];
if($client_answer == $true_answer)
{
$feedbackJudgement=1;
}
else
{
$feedbackJudgement=0;
}
$randomHandType = rand(1,13);
if ($randomHandType >= 10)
{
$randomHandType = 1;
}
$true_answer = $randomHandType;
print"
<form method='post' action='quiz.php'>";
//the following three rows are the 9 feedback buttons the client
// has available to him. A keypad of hand types.
//row 1
print"
<div style='position: absolute; left: 400px; top: 440px;'>
<input type='image' value='1' name='input_from_test_1' src='1_button.png'>
</div>
<div style='position: absolute; left: 565px; top: 440px;'>
<input type='image' value='2' name='input_from_test_1' src='2_button.png'>
</div>
<div style='position: absolute; left: 730px; top: 440px;'>
<input type='image' value='3' name='input_from_test_1' src='3_button.png'>
</div>
";
//row 2
print "
<div style='position: absolute; left: 400px; top: 520px;'>
<input type='image' value='4' name='input_from_test_1' src='4_button.png'>
</div>
<div style='position: absolute; left: 565px; top: 520px;'>
<input type='image' value='5' name='input_from_test_1' src='5_button.png'>
</div>
<div style='position: absolute; left: 730px; top: 520px;'>
<input type='image' value='6' name='input_from_test_1' src='6_button.png'>
</div>
";
//row 3
print "
<div style='position: absolute; left: 400px; top: 600px;'>
<input type='image' value='7' name='input_from_test_1' src='7_button.png'>
</div>
<div style='position: absolute; left: 565px; top: 600px;'>
<input type='image' value='8' name='input_from_test_1' src='8_button.png'>
</div>
<div style='position: absolute; left: 730px; top: 600px;'>
<input type='image' value='9' name='input_from_test_1' src='9_button.png'>
</div> ";
print "</form>";
这只是代码的一部分,因为完整的.php很长很复杂。
该脚本适用于Google Chrome,但仅适用于第一个~100 submitals
。之后我得到"No data received"
"Error code: ERR_EMPTY_RESPONSE".
使用Firefox我在多次输入"The connection was reset".
后收到类似的错误这只是一些我无法避免的错误,因为服务器会在这么多表单提交后超时吗?
当我收到此错误时,我必须等待~30秒并刷新,然后它会发送一个NULL值而不是用户输入。
我可以使用哪些替代方案来做到这一点。可以使用
<input type='image' value='9' name='input_from_test_1' src='9_button.png'>
作为提交按钮?
谢谢
答案 0 :(得分:0)
<input type="image">
类型的标记只能用于提交表单,而不能用于输入标记本身的值。但是,这种行为在浏览器中并不一致,因此在某些情况下可能会起作用。
请参阅此SO链接以供参考。
因此,请尝试正常的<input type="submit">
代码并测试您的方案。