【发布时间】:2022-02-15 23:15:24
【问题描述】:
我目前正在尝试从表单发送两个变量值,$incorrect 和 $correct。
我曾尝试使用$_POST[] 来创建此功能,但它不起作用!
在创建这样的功能时有人可以帮助我吗?
page1.php
<form action="testresult.php" method="POST">
<label for="qn1">Question 1: <?php echo $array_question[$question_num_array[0]] ?></label><br>
<input type="text" id="question1_answer" name="question1_answer" required><br><br>
<label for="qn2">Question 2: <?php echo $array_question[$question_num_array[1]] ?></label><br>
<input type="text" id="question2_answer" name="question2_answer" required><br><br>
<label for="qn3">Question 3: <?php echo $array_question[$question_num_array[2]] ?></label><br>
<input type="text" id="question3_answer" name="question3_answer" required><br><br>
<input type="hidden" name="correct" id="correct" value="<?php $correct ?>" />
<input type="hidden" name="incorrect" id="incorrect" value="<?php $incorrect ?>" />
<input type="submit" name="submitAnswers" value="Submit">
</form>
<?php
if(isset($_POST["submitAnswers"])){
$correct = 0;
$incorrect = 0;
$qn1_ans = $_POST['question1_answer'];
$qn2_ans = $_POST['question2_answer'];
$qn3_ans = $_POST['question3_answer'];
if ($qn1_ans == $array_answer[$question_num_array[0]]){ $correct ++; }
else { $incorrect ++; }
if ($qn2_ans == $array_answer[$question_num_array[1]]){ $correct ++; }
else { $incorrect ++; }
if ($qn3_ans == $array_answer[$question_num_array[2]]){ $correct ++; }
else { $incorrect ++; }
}
?>
在接收端
page2.php
<html>
<head>
<title>Results</title>
</head>
<body>
<?php
$correct = $_POST['correct'];
$incorrect = $_POST['incorrect'];
echo $correct."test ".$incorrect;
?>
</body>
</html>
【问题讨论】:
-
什么究竟不能使用该代码?你有什么努力让它发挥作用?
-
我的变量没有显示在其他页面上。所以我不确定哪里出了问题。
-
请尝试使用javascript在此处设置隐藏字段值。
-
您尝试过什么解决问题的方法?为什么不在提交之前(通过标记)或提交之后(通过在浏览器的网络控制台中检查请求,或通过转储
$_POST)检查表单包含的内容 -
另外,您确定要在之前在任何地方发布该字段的值吗?