2011-03-16 79 views
0

在PHP中定义用户来自特定页面吗?没有“发布”请求。
我有一个“添加帖子”页面。当用户提交帖子时,在下一页他可以提交更多信息。但是当用户点击浏览器中的“返回”时,他会返回空白的“添加帖子”表单,我需要的是用户可以修改以前提交的信息,但只有当他从第二页按下时才可以。定义,该用户来自特定页面? (在PHP中)

$_SERVER['HTTP_REFERER'] - 似乎没有工作。
也许我可以在第二页上的$_SESSION中设置一些数据,然后在除了第一页之外的其他任何页面上设置它..但它看起来不是很聪明。

+0

@Grom S,为什么你不做一个编辑按钮,返回到前一页,但所有的表单域填写?在进入该页面时,您可以检查特定的会话值,以确定它是编辑还是新提交。 – 2011-03-16 17:46:38

+0

为什么一个会议不是很聪明?你的情景是它的实现.. – konsolenfreddy 2011-03-16 17:55:53

+0

@尼克是的,我可以做到这一点。但是如果用户更喜欢浏览器中的“返回”按钮怎么办?或者也许设计不是很方便用户。毕竟我不能确保用户不点击返回按钮.. – 2011-03-16 17:58:15

回答

0

PHP $ _SESSION是一个非常好用的存储临时数据的简单方法(特别是如果你不能使用$ _POST)。您只需清除一次SESSION值,而不是在每个页面上清除。

我不是100%清楚你问的是什么,但试着看看$ _SERVER中的其他值;他们可能有你需要的东西。

+0

我不记得另一个解决方案。不过,如果您认为同一用户可以在网站的不同页面中打开多个标签,您会明白该机制不可能100%准确。为什么不是使用2页,而是为每个步骤使用隐藏的“div”,而不是只有1页? – AlfaTeK 2011-03-16 17:59:28

+0

如何清除$ _SESSION一次?如果用户来自另一个页面,该值仍然存在。我应该在哪里清除它? – 2011-03-16 18:16:38

+0

SESSION对于所有页面都是一样的。使用后立即清除它。 至于多个选项卡,我认为隐藏的divs仍然会遭受同样的问题。更准确的答案需要更具体的代码。 = D – Ryre 2011-03-16 18:23:18