如果用户已经过身份验证,则会重定向PHP

时间:2013-02-27 17:50:26

标签: php redirect

我是php的新手(1个半月),我已经设置了一个PHP登录脚本,它检查数据库我是否已经注册,如果他们已经注册,并且它工作正常,但是我想阻止用户而不是登录,键入地址栏中的URL以通过键入http://example.com/home.html来访问该页面,如果他们确实尝试这样做,请检查他们是否已登录以及是否已登录没有,将它们重定向到登录页面以输入其凭据。我到处寻找一个,他们要么根本不帮助我,要么是为了一个刚认识PHP的人而努力。我相信它会包括使用php会话,但我不确定如何编写或编写它

感谢

3 个答案:

答案 0 :(得分:1)

使用会话:

if (!$_SESSION['is_logged_in']) {
   redirect_to_login_page();
}

然后在您的登录脚本中,成功登录后,您只需

$_SESSION['is_logged_in'] = true;

并且您的任何“受保护”页面都允许它们通过。

答案 1 :(得分:1)

假设您的登录脚本执行以下操作:

$_SESSION['userid'] = ...;

然后你可以这样做:

if( !isset($_SESSION['userid'])) die(header("Location:/login.php"));

当然,有更优雅的解决方案,但它们依赖于您设置的更具体方面。

答案 2 :(得分:0)

您可以编写一些会话检查,然后将该文件包含在您必须保护的所有文件之上。例如

session_start();
if($_SESSION['authenticated']!=1)
{
echo "Not logged in";
}

在登录表单操作中,如果用户名和密码正确,您可以相应地设置该会话值

相关问题