如何将用户从登录页面重定向到另一个php
假设用户已将书签标记为“http://www.example.com/login#/settings”。如果用户试图访问该页面时,他被注销,首先,我希望他用这种方法如何将用户从登录页面重定向到另一个php
http://www.example.com/authenticate/login?continue=http://www.example.com/login#/settings
注意重定向到登录页面,然后到书签的页面:
- 我正在使用MVC架构
- 是否有任何方法而不是HTTP_REFERER?
当用户输入http://www.example.com/login#/settings,我想在我的控制器文件中读取整个URL包括#锚然后只有我可以设定网址到
HTTP://www.example .com/authenticate/login?continue = http://www.example.com/login#/settings
那么我该怎么做?
取决于您想如何呈现给用户。对于一个简单的重定向,使用header
发送HTTP Location头
header("Location: http://www.google.com/");
如果你想给你的用户一些时间把它们放在之前阅读短消息,那么你可以使用header
发送HTTP刷新头
header("Refresh: 5; url=newpage.php");
编辑:为了捕获锚点,您将需要使用JavaScript。该信息不适用于PHP。在这种情况下,如果您使用JavaScript来捕获锚点,那么您最好还是在JavaScript中编写重定向。
编辑2:也许是另一种选择是,当你传递继续你的程序,也送主播另一GET
变量。所以你的URI可能是这样的:
http://www.example.com/authenticate/login?continue=http://www.example.com/login&anchor=settings#/settings
然后使用$_GET['anchor']
,它串联到$_GET['continue']
与#
值。
$uri = $_GET['continue'] . "#" . $_GET['anchor'];
为了设置**继续**价值,我必须得到整个网址,包括#锚...我如何得到这个在PHP ??????? – user1400191 2012-08-01 05:10:41
你需要为此使用JavaScript。 – Hameed 2012-08-01 05:12:19
但是我如何在控制器内部执行此操作?任何示例都会非常有帮助 – user1400191 2012-08-01 05:17:12
您在cannot read the part after the #从PHP。你需要为此使用JavaScript。例如,你可以使用
window.location.hash
要找到散列的部分,如果有的话(这将是'如果没有散,或“#something”如果有一个)。然后,您可以将其作为请求内的隐藏字段发送给控制器。
我正在使用MVC。那么我在哪里可以将JavaScript放入我的平台 – user1400191 2012-08-01 05:27:31
MVC可以应用于任何东西;我在Java和JavaScript以及其他地方使用它。这只是分解程序的一种(好)方式。请编辑您的问题以解释您的平台如何运作。大部分是MVC,但这并没有那么有用。 – tucuxi 2012-08-01 05:32:59
@ user1400191说这是mvc非常模棱两可 – ianace 2012-08-01 06:07:09
尝试'header:'而不是 – 2012-08-01 04:58:45
@BhuvanRikka登录页面通过身份验证/登录显示,登录控制器仅在登录后才会激活,并且无法获取包含#anchor的整个网址 – user1400191 2012-08-01 05:03:23
如果我得到了该权限,你已经在你面前有了答案。简单的获得'继续'的价值和身份验证后使用'header'重定向 – asprin 2012-08-01 05:03:37