我对网络编程很陌生,我无法解决这个问题。为了简单起见,我说有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>
答案 0 :(得分:3)
您在这些输入字段中设置了disabled
属性。
提交表单时不会发送已禁用的表单元素。
http://www.w3.org/TR/html5/forms.html#attr-fe-disabled:
“
disabled
属性用于使控件非交互式,用于防止其值被提交。”
如果您不希望用户能够更改值,但仍然在提交表单时将其与表单一起发送 - 请改用readonly
属性。
答案 1 :(得分:1)
是的,没错。
提交中不包含已禁用的字段。删除已禁用属性,您可以看到它有效。