2013-04-11 125 views
0

我有一个页面,只允许用户在登录后访问该页面。说这页是登录后重定向用户

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

这是场景:当用户访问URL时没有登录,用户将被重定向到登录页面。我的登录页面URL:

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

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

背后有什么想法? Thx

+0

使用Cookie或使用会话(您必须启动它在登录之前) – x4rf41 2013-04-11 09:41:08

+0

有没有使用cookie或会话的另一种方法? – 2013-04-11 09:47:16

回答

0

请查阅php手册中的标题方法,这里有一个重定向的例子。

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; 
?> 
0

事情是这样的:

<?php 

session_start(); 

if (!$_SESSION['logged_in']) { 
    header('location: login.php'); 
    die; 
} 

//other code 

?> 
+0

关于标题,我很清楚。我需要的是如何记住用户之前访问的网址,而不使用会话和Cookie,以便我可以将他/她重定向到该网页 – 2013-04-11 09:46:23

1

一种选择是存储重定向位置的某处。这可以在url或我的首选选项中完成:在隐藏字段中。

1

商店页面中的cookie值

$_COOKIE['visit'] = "http://www.example.com/secret/data/important.php?id=23&pin=2if24scrtw2323"; 
and then from login 
header('location: '.$_COOKIE['visit']); 
1

首先你需要使用PHP的GET和POST或要求如$ _GET [ '身份证']

成功登录后检查ID和PIN值你可以在$ _SESSION ['id']这样的会话中设置值,并在agin上重定向thr用户或重新加载页面,并检查会话值是否存在或相等以获得值

2

您阅读了您登录页面的url。它存储在$ _SERVER中,除非我错了。 (我建议在做print_r($_SERVER)以查看可用的内容)或者,您将$_SERVER['REQUEST_URI']作为参数(如header('login.php?came_from=' + $_SERVER['REQUEST_URI']))重定向到用户登录时将登录页面带入。把它作为隐藏的输入。然后登录后,您仍然可以将该网址作为脚本中的参数,以便您现在可以轻松使用header('yourpage.php')重新导向:)