繁体   English   中英

受限页面 - 仅对登录用户可见 - PHP

[英]Restricted pages - Only visible to logged in users - PHP

我有受保护页面(主页)的登录和注册系统。 当用户创建帐户并使用用户名和密码登录时,系统会将用户重定向到主页。 在主页上,我有一个限制代码(只有登录的用户才能在主页上):

session_start();
session_destroy();

include $_SERVER['DOCUMENT_ROOT'] . '/web/route.php';
include $_SERVER['DOCUMENT_ROOT'] . '/app/database/config.php';
include $_SERVER['DOCUMENT_ROOT'] . '/app/functions/navigation.php';

if (!isset($_SESSION['username'])) {
    header('location: ../');
    exit();
}

如果我在未登录的情况下尝试打开该页面,系统会自动将我重定向回登录页面。 现在我创建第二个页面(联系支持)并将相同的代码复制到新页面,我没有收到任何错误,但我只有重定向到主页,当我尝试打开手动新页面时,系统重定向我再次登录。我的注销代码是:

session_start();
session_destroy();

if (isset($_COOKIE['authenticationSystem'])) {

    unset($_COOKIE['authenticationSystem']);
    setcookie('authenticationSystem', null, -1, '/');
}

header('location: index');

如果我将新代码添加到新页面:

if (isset($_COOKIE['authenticationSystem'])) {
    header('location: ../');
    exit();
}

我解决了问题,但我无法获取用户登录信息。 有人可以向我解释问题出在哪里,如果需要任何其他信息,我会提供吗?

谢谢大家

您应该小心 cookies。 我相信在大多数情况下,如果使用 cookie 并不重要,那么只使用会话就足够了。 通过用户登录信息,您的意思是用户名是 session? 您是否有可能忘记 session_start()? 因为您应该在每个页面中开始会话。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM