如何在登录后将用户重定向回上一页?

Mary-Kate Olsen
发布: 2024-10-31 07:11:02
原创
847 人浏览过

How to Redirect Users Back to Their Previous Page After Login?

登录后重定向到上一页

当用户登录网站时,通常希望将他们重定向回他们所访问的页面之前都在浏览。这确保了无缝的用户体验,并消除了他们手动返回的需要。

实现此功能的一种方法是在将用户重定向到登录页面时通过 GET 变量传递用户的当前位置:

<code class="php">header("Location:login.php?location=" . urlencode($_SERVER['REQUEST_URI']));</code>
登录后复制

这会将用户发送到一个登录页面,其中包含一个隐藏的输入字段,其中包含上一页的 URL:

<code class="php">echo '<input type="hidden" name="location" value="';
if(isset($_GET['location'])) {
    echo htmlspecialchars($_GET['location']);
}
echo '" />';</code>
登录后复制

在处理以下内容的 login-check.php 脚本中登录请求,如果登录成功并且设置了location参数,用户会被重定向到存储的URL:

<code class="php">if(isset($_POST['location'])) {
    $redirect = $_POST['location'];
}

// ...

if(isset($_SESSION['id_login'])) {
    // if login is successful and there is a redirect address, send the user directly there
    if($redirect) {
        header("Location:". $redirect);
    }
}</code>
登录后复制

但是,对$_GET['location']参数进行验证至关重要防止用户被重定向到恶意网站。此外,在将 URL 作为 GET 参数传递时,请始终使用 urlencode,以正确处理特殊 URL 字符。

以上是如何在登录后将用户重定向回上一页?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!