成功登录后PHP重定向到原始URL

时间:2012-01-02 18:38:02

标签: php

我不确定哪种方式最好,所以我很乐意听到一些想法。

好的,我们说我们有这个链接/ url => www.myscript.com/clients.php?id=5

如果我尝试打开它,我会被重定向到www.myscript.com/login.php,因为我没有登录,然后当我登录时,我没有被重定向到原始链接/网址{{1}我希望如此。

那么我应该在login.php中添加什么才能实现这样的表演/工作?

请注意,网址迁移不同,例如:

www.myscript.com/clients.php?id=5

等...

4 个答案:

答案 0 :(得分:2)

在重定向到login.php

传递

urlencode($_SERVER["REQUEST_URI"]) 

如下所示。

login.php?return=clients.php%3Fid%3D5

成功登录后,将页面重定向到

urldecode($_GET['return'])

答案 1 :(得分:1)

如果您将此跟踪值添加到所有页面(或每个页面上显示的网站元素......?),则需要在脚本中添加跟踪值。

<?php
session_start(); // only if you are not already using sessions - if you are, you don't need this line
if (($_SERVER['REQUEST_URI'] != 'login.php') && ($_SERVER['REQUEST_URI'] != $_SESSION['oldURL'])) {
    $_SESSION['oldURL']     = $_SERVER['REQUEST_URI'];    
}
?>

然后在您的登录页面中,您可以使用$_SESSION['oldURL']

进行重定向

答案 2 :(得分:0)

if (login successfull)
    header("Location: $storedURLvariable(www.myscript.com/orders.php?invoice=125)");

答案 3 :(得分:-1)

在login.php中,输入如下内容:

$_SESSION['logged_in'] = true;  // Wherever your user would actually be logged in.

现在,在您想要的所有页面的开头“只有登录时才能访问”,请输入:

if (!$_SESION['logged_in'])
{
     header("Location:/login.php");
     exit();
}