在同一页面上提交表单时,不会传递变量

时间:2013-05-06 13:47:22

标签: php html forms

我一直试图让它工作几个小时,所以我决定寻求帮助。

我有一个表单,当它被提交时,它返回与值相同的页面。(这应该发生在thoery) 我没有语法错误,但它只是不起作用,变量是空的。

在这里看一下我的剧本:

http://pastebin.com/FYDmq21b

您的帮助将非常感谢:)

3 个答案:

答案 0 :(得分:0)

您应该将表中每个条目的值设置为等于它自己。我不确定这会起作用但是现在这是我唯一能想到的!我希望它会有所帮助。稍后我会更仔细地看到你的代码,并试图找出它。

答案 1 :(得分:0)

您的所有输入元素都在form标记之外,因此当您按提交时,它们不会发送很长时间。

在第223行,您有<form action="test_postback.php" method="post">,然后在第228行,您有提交按钮。在第241行,您将结束表单。

然而,所有输入元素都在第169和201行之间的表格中生成。

因此,当您按“提交”时,您将获得第一个PHP检查if (isset($_POST['submit'])),因为提交元素位于表单中。所有其他检查都失败,因为它们没有值:

if ($_POST['status']=='1')
{
  //never here, because $_POST['status'] isnt set
}
else if ($_POST['status']=='2')
{
  //never here, because $_POST['status'] isnt set
}
else
{
  //you see this one
  echo 'Invalid status!';
}

所以解决它,将<form action="test_postback.php" method="post">移到第168行或更早,将所有输入元素放在form标记

答案 2 :(得分:0)

您似乎将所有输入字段都放在实际表单之外。移动表单action =“test_postback.php”method =“post”&gt;“

起来。