我有一个页面,只允许用户在登录后访问该页面。假设此页面是
http://www.example.com/secret/data/important.php?id=23&pin=2if24scrtw2323
这是一种情况:当用户在没有登录的情况下访问URL时,用户将被重定向到登录页面。我的登录页面网址:
成功登录后,用户将再次自动重定向到他/她尝试高级访问的页面(在这种情况下:> http://www.example.com/secret/data/important.php?id=23&pin=2if24scrtw2323)就像facebook一样。
背后有什么想法? THX
答案 0 :(得分:2)
您已阅读登录页面的网址。它存储在$ _SERVER中,除非我弄错了。 (我建议做print_r($_SERVER)
以查看可用的内容)或者,当您将用户重定向到登录时,将$_SERVER['REQUEST_URI']
作为参数(例如header('login.php?came_from=' + $_SERVER['REQUEST_URI'])
)带到登录页面。将其作为隐藏输入放在表单中。然后在登录后,您仍然将该url作为脚本中的参数,以便您现在可以轻松地使用header('yourpage.php')重新定向:)
答案 1 :(得分:1)
一种选择是将重定向位置存储在某处。这可以在网址或我的首选选项中完成:在隐藏字段中。
答案 2 :(得分:1)
将页面的值存储在cookie
中$_COOKIE['visit'] = "http://www.example.com/secret/data/important.php?id=23&pin=2if24scrtw2323";
and then from login
header('location: '.$_COOKIE['visit']);
答案 3 :(得分:1)
首先你需要使用php GET和POST或REQUEST检查id和pin值,如$ _GET ['id']
成功登录后,您可以在会话中设置值,如$ _SESSION ['id'],并在agin上重定向thr用户或重新加载页面并检查会话值是否存在或等于获取值
答案 4 :(得分:0)
请查看php手册中的header方法,有一个重定向示例。
从那里复制并粘贴:
<?php
header("Location: http://www.example.com/"); /* Redirect browser */
/* Make sure that code below does not get executed when we redirect. */
exit;
?>
答案 5 :(得分:0)
这样的事情:
<?php
session_start();
if (!$_SESSION['logged_in']) {
header('location: login.php');
die;
}
//other code
?>