登录后,重定向到用户上次会话的上次访问页面?

时间:2011-04-21 09:28:24

标签: php redirect login

我有一个登录表单。 我希望当用户登录其帐户时,他会得到 在退出之前重定向到他访问过的最后一页 在他最后一次签约会议上。

Plz帮我提供代码和想法,因为我是初学者。

5 个答案:

答案 0 :(得分:1)

加载页面时,请写

$_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"]

进入某个用户表。 然后在页面加载时,检查表中是否有值,只需使用

header("Locations:".$userTable['loadedField'])

宣布你的会话后。

答案 1 :(得分:1)

如果您编写自己的会话处理程序,则可以使用Sessions完成此操作。数据库会话提供了很多灵活性,您可以保留实际会话,因为您已经编写了垃圾收集处理程序。这并不难,但有点超出Q& S的范围。答:我认为这是一个完美的cookie案例,可以与现有会议并行实施。当用户返回您的站点时,您可以检查最后一个页面URL,您的注销例程为其设置了cookie值。如果生成的页面要求他们登录,那就更好了。

更多信息: Sessions Cookies

非常简单的例子:

<?php
if(isset($_COOKIE["Visited"]))
{
    echo "<h1>Welcome back</h1>";
}
else
{
    echo "<h1>Welcome to the Index</h1>";
    setcookie("Visited", true);
}

答案 2 :(得分:0)

您必须将最后一个会话页面存储在文件或数据库中。

当用户退出(我希望)或离开页面时,会话将被终止。

据我所知,当用户退出时,您可以制作“存储最后一页功能” 但是,当用户关闭页面时,不会应用此功能。我的猜测是,每次用户浏览到另一个页面时,您都必须存储页面。

希望我帮助你。
Mixxiphoid

答案 3 :(得分:0)

在登录链接中添加return_to参数并将其设置为当前页面。在您的登录页面上捕获该参数并将其作为隐藏值粘贴在登录表单中。处理登录表单时,如果一切顺利,请header('Location: ' . $_POST['redirect_to']);

这可能是最简单,最直接的方式,但请记住,您必须验证所有传入数据,包括redirect_to参数,否则可能存在安全问题。

~K

答案 4 :(得分:0)

当用户再次登录时,您需要存储登录用户正在数据库中访问的页面的实际URL(对于每个单页加载,除了注销页面),您必须获取他访问过的最后一个URL数据库并重定向他:)

相关问题