执行以下操作的最佳方法是: 我有一个带有2个按钮(用于不同的东西)的页面A,它们都会带你进入登录页面(页面3),当页面3中填写登录详细信息时,处理数据的页面是第4页。 我希望第4页显示内容,具体取决于在页面a中单击了哪个按钮。我已阅读http referer,但我相信如果我在第4页放置一个引用者,它将显示我来自的上一页,即登录。
我该如何解决这个问题? 感谢
答案 0 :(得分:2)
引用程序并不总是由浏览器发送,并且可以伪造(在这种情况下,由于两个按钮位于同一页面上,因此它将是无用的);所以,你不应该依赖它被设置也不正确。
在这种情况下,可能的解决方案是:
page_login.php?button=1
”page_login.php?button=2
”$_GET['button']
),并将其存储在表单的隐藏字段中答案 1 :(得分:2)
使用会话变量,例如$_SESSION['clicked_button'] = $the_button
。
答案 2 :(得分:1)
http-refferer不是这样做的最佳解决方案。最简单的方法是在GET数组中添加一些参数,例如?clicked_button=2
Http-refferer可能会关闭。此外,referer将显示该按钮的相同URL(两者都在一页中)
根据要求编辑:
你可以没有形式,
<button id="button1" onClick = "javascript:location = "page3.php?clicked_button=1"; />
并在page3.php
中只读取$_GET['clicked_button']
中的值:
if($_GET['clicked_button'] == 1) ...
答案 3 :(得分:0)
如果这些变量不存在,请记住在任何情况下都有默认值,即用户干扰您的表单......但您应该使用方法来防止这种情况;)