Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
成功登录后PHP重定向到原始URL_Php - Fatal编程技术网

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

成功登录后PHP重定向到原始URL,php,Php,我不确定哪种方法是最好的,所以我很想听听你的想法 好的,假设我们有这个链接/url=>www.myscript.com/clients.php?id=5 如果我试图打开它,我会被重定向到www.myscript.com/login.php,因为我没有登录,然后当我登录时,我不会像我想的那样被重定向到原始链接/urlwww.myscript.com/clients.php?id=5 那么我应该向login.php添加什么来实现这样的行为/工作呢 请记住,URL可能不同,例如: - www.mysc

我不确定哪种方法是最好的,所以我很想听听你的想法

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

如果我试图打开它,我会被重定向到
www.myscript.com/login.php
,因为我没有登录,然后当我登录时,我不会像我想的那样被重定向到原始链接/url
www.myscript.com/clients.php?id=5

那么我应该向login.php添加什么来实现这样的行为/工作呢

请记住,URL可能不同,例如:

- www.myscript.com/clients.php?id=5
- www.myscript.com/orders.php?invoice=125

等等。

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

$_SESSION['logged_in'] = true;  // Wherever your user would actually be logged in.
现在,在您希望“仅在登录时可访问”的所有页面的开头,输入:


在重定向到login.php时

过关

urlencode($_SERVER["REQUEST_URI"]) 
作为如下所示的参数

login.php?return=clients.php%3Fid%3D5
成功登录后,将页面重定向到

urldecode($_GET['return'])

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


您可以将URI存储在“用户是否已登录”检查代码中的
$\u会话
变量中,然后重定向回登录验证代码中的URI。会话/登录使用的是什么?你是如何强制重定向的?我所要做的就是重定向到登录后输入的原始URL…@MrGlass我的dologin.php中有这个,在我们提交login.php中使用的表单时执行<代码>标题('Location:index.php')
退出()@ProDraz,将在登录后将用户重定向到索引。是什么将用户重定向到登录?这不是OP想要的。重定向到登录是最简单的部分。OP希望重定向回用户在被发送到登录之前最初点击的页面。
login.php?return=clients.php%3Fid%3D5
urldecode($_GET['return'])
<?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'];    
}
?>