2009-10-18 43 views
0

什么是做的最好的方法如下: 我有2个按钮(对于不同的东西),这两个带你到一个登录页面(3),当登录详细信息填写页面一3,处理该数据页第4页 我想第4页显示根据事物在其上点击页面按钮。我已经在HTTP引用阅读,但我相信,如果我把在第4页引荐来源,它会证明我的,这是未来登陆前一页。的Referer在PHP的

我该如何解决这个问题? 感谢

回答

1

HTTP-refferer是不是要做到这一点的最佳解决方案。最简单的方法是添加一些parametr为GET阵列,例如?clicked_button=2 的Http-refferer可能会关闭。此外,引荐会显示该按钮相同的URL(两者都是在一个页面)

编辑要求: 你可以做到这一点没有形式, <button id="button1" onClick = "javascript:location = "page3.php?clicked_button=1"; />

,并在$_GET['clicked_button']page3.php刚读值: if($_GET['clicked_button'] == 1) ...

+0

如何将参数添加到表单中有一个get数组?你能否以一种清晰的形式给出一个例子。谢谢 – user179780 2009-10-18 12:21:41

+0

使用get参数来存储会话数据是跛脚的。 – 2009-10-19 10:02:20

+0

Yyy?; D为什么涉及服务器和所有会话机制('start_session();','$ _SESSION'array?此外,tah变量在以后不会有用... – IProblemFactory 2009-10-19 17:58:08

2

引用者并不总是由浏览器发送的,并且可以伪造(并且,在这种情况下,两个按钮都在同一页上,这将是一种无用的);所以,你不应该依赖它被设置和正确。

在这种情况下,一个可能的解决方案是:

  • 第A,你的两个按钮添加一些变量
    • 像 “page_login.php?button=1
    • 和 “page_login.php?button=2
  • 页面登录将获得该变量(即$_GET['button']),并将其存储在一个隐藏字段然后第4页的表格将接收该变量;你可以用它来知道哪个按钮是第一次使用的。
+0

感谢您的有用信息,您的意思是在您的两个按钮上添加变量,意思是说,在表单输入中,将信息分配给任何变量,请您澄清。 – user179780 2009-10-18 11:36:01

2

使用会话变量,例如$_SESSION['clicked_button'] = $the_button

0

记住在任何情况下,默认如果不存在这些变量,即用户与形式干扰......但你应该使用的方法,以防止反正;)