我创建了一个 PHP 表单,它要求用户从邮政编码值列表中选择一个邮政编码。
用户按两次提交:-一次进入地址选择菜单,该菜单将显示带有值的选择下拉菜单-第二次按“确定”按钮选择与其邮政编码值对应的地址
我需要在提交表单时保留所选邮政编码值的值。我已经尝试设置在会话中选择的邮政编码下拉值......但是当用户按下表单提交时它会变得很多。
即使在用户按下其中一个提交时刷新页面后,如何保留所有表单值?
“即使在用户按下其中一个提交后刷新页面后,我如何才能保留所有表单值?”
阅读您的问题,我不明白是否每个提交的表单都实际提交到服务器,但我会假设是这样。我还假设您正在尝试使用 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()
在尝试处理任何与会话相关的事情之前,不要忘记总是这样做。
简短的回答是我认为您不能跨多个表单跟踪表单数据。
我还没有看过你的项目,所以可能不完全理解要求,但我建议你考虑使用 AJAX。查看jQuery post() 手册,实际上它非常简单。这样做的好处是允许您在完成第一个表单后更新页面。
编辑:对不起,我的意思是您不能在单个 $_POST 中访问多个表单数据。当然,您可以将其存储在 $_SESSION 中(请记住正确启动会话)。