我一直在寻找解决方案,但无论我尝试什么,我似乎都无法正确解决。
成功登录后,用户应该被重定向到他来自的页面,假设他一直在浏览一个帖子并且想要登录以便他可以发表评论,所以他应该被重定向到他正在浏览的帖子。所以这就是我所拥有的:
login.php显示登录表单:
<form method="post" action="login-check.php">
... //input for username and password
</form>
login-check.php检查是否输入了用户名和密码,用户是否存在,或者他是否已经登录,并向 login.php 发送一个参数p
:
<?php
session_start();
if((empty($username) OR empty($password) AND !isset($_SESSION['id_login']))) {
header("Location:login.php?p=1");
exit();
}
elseif (!user_exists($username,$password) AND !isset($_SESSION['id_login'])) {
header("Location:login.php?p=2");
exit();
}
elseif(isset($_SESSION['id_login'])) {
header("Location:login.php?p=3");
exit();
}
?>
然后参数p
被发送回login.php并显示相应的消息:
<?php
if(isset($_GET['p'])) {
$p = $_GET["p"];
if($p=="1")
echo "<p class=\"red\">You didn't fill the form.</p><br></br>";
if($p=="2")
echo "<p class=\"red\">User exists.</p><br></br>";
if($p=="3")
header("Location: index.php");
}
?>
但是,成功登录后,它应该转到用户以前访问过的页面,而不是转到 index.php。我尝试过不同的方式,但它根本不起作用,或者它返回到 login.php。它不需要超级安全,因为我正在为一个学校项目做这个。
另外,我认为自己很新手,所以请耐心等待:D