提交已发布到表单

时间:2016-01-14 17:55:38

标签: php html

我对网络编程很陌生,我无法解决这个问题。为了简单起见,我说有2页。第一页有一个带有两个选择框和一个提交按钮的表单。第二页有一个带有两个文本输入框和一个提交按钮的表单。提交第一页上的表单后,它将转到第二页,两个文本输入框将使用$ _POST填充第一个表单中的值。

我的问题是,当我提交第二个表单(在提交时转到同一个第二页)时,表单的$ _POST变量为空。

我认为值中的if-else会修复它。这样做的目的是因为在提交上一页的$ _POST之后不再有值,我希望在提交后显示此表单字段中的值(它仍然是第一个表单中的相同值)。我不仅希望它在这些字段中显示值,我还想将它们用于数据库查询(这就是为什么它们是空白的问题)。

达到第二页时表单中的值是正确的。在其他情况下,如果我回声"测试"而不是$ _POST它显示在框中,所以我相信我在提交后缩小到$ _POST空白但我不明白为什么。

<form method="post" action="newSerialNumber.php">
    JON: <input type="text" name="newSNJON" value="<?php if ($_POST['JON'] != ""){ echo $_POST['JON'];}else{ echo $_POST['newSNJON'];} ?>" disabled> 
    Part Number:  <input type="text" name="newSNPN" value="<?php if ($_POST['PN'] != ""){ echo $_POST['PN'];}else{ echo $_POST['newSNPN'];} ?>" disabled>
    <input type="submit" name="Button" value="Add">
</form>

2 个答案:

答案 0 :(得分:3)

您在这些输入字段中设置了disabled属性。

提交表单时不会发送已禁用的表单元素。

http://www.w3.org/TR/html5/forms.html#attr-fe-disabled

  

disabled属性用于使控件非交互式,用于防止其值被提交。”

如果您不希望用户能够更改值,但仍然在提交表单时将其与表单一起发送 - 请改用readonly属性。

答案 1 :(得分:1)

是的,没错。

提交中不包含已禁用的字段。删除已禁用属性,您可以看到它有效。