有时我们从网站获得链接,当我们点击邀请链接时,它只是将我们发送到索引页面进行登录(因为我们没有登录该网站),当登录完成时,网站只是重定向我们到我们点击的链接。
如何在PHP中实现这一目标?
答案 0 :(得分:5)
假设“目标网页”被称为“a.php
”;这是一种可能的方式来做你正在描述的事情:
a.php
a.php
检测到您未登录index.php
,并在网址中显示一个参数index.php
,您应该在登录后重定向到a.php
header
函数完成重定向,Location
标题指向http://yoursite.com/index.php?destination=a.php
index.php
上,您将处理登录机制
$_GET['destination']
存储在中(当然正确转义) index.php
(即自身)或其他页面;并不重要。destination
字段,则将用户重定向到相应的页面destination
字段的内容可能会很有趣,以确保您只接受重定向到“有效”页面(“有效”的定义可以更改 - - 但至少可以表示“您网站上的网页”) 答案 1 :(得分:1)
您可能还想尝试...
start_session();
$_SESSION[destination] = strip_tags($_GET[destination]);
..而不是将变量称为隐藏字段。然后在POST上进行检查(你需要检查哪些功能),例如
if ($_SESSION[destination] !='' || empty($_SESSION[destination]) && !is_numeric($_SESSION[destination])){
header('Location:'.$_SESSION[destination]);
}