我创建了一个PHP表单,要求用户从邮政编码值列表中选择一个邮政编码。
用户按两次提交: - 一次转到地址选择菜单,该菜单将显示带有值的选择下拉菜单 - 第二次按“确定”按钮选择与其邮政编码值对应的地址
我需要在提交表单时保留所选邮政编码值的值。我已经尝试设置在SESSION中选择的邮政编码下拉值...但是当用户按表单提交时它会获得很多。
当用户按下其中一个提交时,即使在刷新页面后,如何保留所有表单值?
答案 0 :(得分:2)
“当用户按下其中一个提交时,即使在刷新页面后,如何保留所有表单值?”
阅读你的问题我不明白每个表单提交是否实际提交给服务器,但我会假设。我还假设您正在尝试使用PHP会话来实现此目的。
当用户提交表单时,将服务器端的值保存在PHP会话中
//Start the session
session_start();
//Save the values
$_SESSION["foo"] = $_POST["bar"];
...
如果在选择地址后,用户被重定向到初始表单,并且您想要填充该地址:
//Start the session
<?php
session_start();
?>
<!-- Populate HTML form based on previously submitted values -->
<input type="text" name="foo" value="<?php echo $_SESSION["foo"] ?>" />
...
在最终提交后,您应该将所有提交的值保存在$_SESSION
数组中。在尝试处理与会话相关的任何内容之前,请不要忘记始终session_start()
。
答案 1 :(得分:0)
简短的回答是我认为您无法跨多种形式跟踪表单数据。
我没有看到你的项目,所以可能没有完全理解这些要求,但我建议你考虑使用AJAX。查看jQuery post() manual,实际上非常简单。这样做的好处是可以在第一个表单完成后更新页面。
编辑:抱歉,我的意思是你无法在一个$ _POST中访问多个表单数据。当然你可以将它存储在$ _SESSION中(记得正确地开始你的会话)。