我正在开展数据库驱动的测验,让用户选择一系列答案,然后通过表单提交结果。当它突然爆炸时它工作得很好,而我却找不到问题。
所以在我进入更复杂的东西之前,我想回到原点,然后做一些简单的工作 - 就像把一个隐藏的值传递给另一个回应那个价值的页面。
这是我的第一页@ mysite / form.php的代码:
<html>
<head>
</head>
<body>
<!-- g1/form.php -->
<div id="quiz" rel="key">
<form action="form2.php" method="post" id="quiz">
<input type="hidden" name="PreviousURL" id="url" />
<input type="submit" value="Submit Quiz" />
</form>
</div><!-- quiz-container -->
</body>
</html>
这是第二页的代码:
<html>
<head>
</head>
<body>
<?php ini_set('display_errors', 1);
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
echo $_POST['PreviousURL'];
}
echo 'XXX';
?>
</body>
</html>
我也试过移动结束括号,如下所示:
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
}
echo $_POST['PreviousURL'];
echo 'XXX';
在这两种情况下,当我点击提交按钮并转发到form2.php时,我看到“XXX”,但$ _POST ['PreviousURL']没有价值。
我一定是不小心删除或修改过的东西,因为它看起来很简单,而且以前工作正常。谁能告诉我这是什么问题?
答案 0 :(得分:3)
隐藏输入没有值。
在您的表单脚本中,您错过了隐藏输入中的value=""
。这就是为什么第二页上没有显示任何内容的原因。