登录后重定向用户

时间:2013-04-11 09:39:20

标签: php

我有一个页面,只允许用户在登录后访问该页面。假设此页面是

  

http://www.example.com/secret/data/important.php?id=23&pin=2if24scrtw2323

这是一种情况:当用户在没有登录的情况下访问URL时,用户将被重定向到登录页面。我的登录页面网址:

  

http://www.example.com/login.php

成功登录后,用户将再次自动重定向到他/她尝试高级访问的页面(在这种情况下:> http://www.example.com/secret/data/important.php?id=23&pin=2if24scrtw2323)就像facebook一样。

背后有什么想法? THX

6 个答案:

答案 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方法,有一个重定向示例。

http://php.net/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

?>