1

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

谢谢

4

3 回答 3

1

使用会话:

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

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

$_SESSION['is_logged_in'] = true;

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

于 2013-02-27T17:52:13.300 回答
1

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

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

然后你可以这样做:

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

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

于 2013-02-27T17:52:30.330 回答
0

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

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

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

于 2013-02-27T17:53:01.603 回答