4

我创建了一个 PHP 表单,它要求用户从邮政编码值列表中选择一个邮政编码。

用户按两次提交:-一次进入地址选择菜单,该菜单将显示带有值的选择下拉菜单-第二次按“确定”按钮选择与其邮政编码值对应的地址

我需要在提交表单时保留所选邮政编码值的值。我已经尝试设置在会话中选择的邮政编码下拉值......但是当用户按下表单提交时它会变得很多。

即使在用户按下其中一个提交时刷新页面后,如何保留所有表单值?

4

2 回答 2

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()在尝试处理任何与会话相关的事情之前,不要忘记总是这样做。

于 2012-04-08T13:22:27.553 回答
0

简短的回答是我认为您不能跨多个表单跟踪表单数据。

我还没有看过你的项目,所以可能不完全理解要求,但我建议你考虑使用 AJAX。查看jQuery post() 手册,实际上它非常简单。这样做的好处是允许您在完成第一个表单后更新页面。

编辑:对不起,我的意思是您不能在单个 $_POST 中访问多个表单数据。当然,您可以将其存储在 $_SESSION 中(请记住正确启动会话)。

于 2012-04-08T13:08:34.867 回答