php页面刷新,从表单中获取post值

Posted

技术标签:

【中文标题】php页面刷新,从表单中获取post值【英文标题】:Php page refresh , get the post values from formm 【发布时间】:2010-12-31 14:40:16 【问题描述】:

我有一个 jquery 上传和裁剪脚本,我正在尝试使用它。

首先我有一个 1.html 文件,它有一个表单,需要一些文本和图像。提交表单后,它会转到 main.php,在那里它会检查一些图像属性,如果成功,它会使用 header("location:".$_SERVER["PHP_SELF"]); 刷新页面

因此,如果我放置 $_POST['name'] 我会从 1.html 获得值。现在,当页面刷新后显示的图像有一个选择缩略图的选项,并且在选择缩略图时,还有一个页面刷新,以显示最终图像(更大的和缩略图)。现在我的问题是第二页刷新我无法获得我从 1.html 发布的字段。任何建议将不胜感激。谢谢

【问题讨论】:

【参考方案1】:

header 刷新后,您将丢失所有信息。删除刷新并执行连续表单:您需要从第一个表单传播所需的值,使用随后表单中的隐藏输入字段

<input type="hidden" value="<?php echo $value_from_original_post; ?>">

或者您可以将感兴趣的值存储在session 变量中。

或者,您可以使用不需要重新加载或页面更改的 AJAX 解决方案,但它需要更多的工作(并且您可能不需要 javascript)。

【讨论】:

谢谢,我使用会话来获取页面刷新时的数据。感谢您的回复。【参考方案2】:

您不能在页面之间存储状态,除非:

如果是表单提交,请继续将值滚动为 hidden 输入类型。 暂时将值保存为 cookie,直到被使用。

【讨论】:

我可以在同一个页面上有两个表单吗?两个表单操作都转到同一个页面。听起来合乎逻辑吗? 没有什么能阻止您在同一页面中拥有 2 个表单,但是您将很难区分提交的表单,因为只有 1 个。类似向导的页面(您在其中填写详细信息并单击下一步以查看多个页面)的常见做法是使用 cookie/session 处理小数据量或使用数据库处理大数据。

以上是关于php页面刷新,从表单中获取post值的主要内容,如果未能解决你的问题,请参考以下文章

PHP避免刷新页面重复提交

php如何避免刷新页面重复提交

刷新PHP时清除POST数据

如何停止 jQuery 帖子页面刷新

使用ajax将表单提交给php而不刷新页面

在浏览器中重新加载/刷新页面而不重新提交表单?