4 回答
TA贡献1827条经验 获得超8个赞
它正在发生,因为你有一个重定向循环。这就是正在发生的事情。
用户注销并且会话未设置
然后将用户重定向到 index.php,您在其中调用“config.php”
在 config.php 中,您检查用户是否未登录。他没有登录,所以它告诉它重定向到 index.php(然后您又回到了第 2 点,然后一圈又一圈地走)
如果用户已登录,请将您的 config.php 更改为重定向,例如
// Redirect to the dashboard signed in
if(isset($_SESSION['user'])){
header('location: http://localhost/dashboard.php');
}
TA贡献1906条经验 获得超10个赞
加载 config.php 后开始会话。否则 if 语句下的条件将始终为真,并且它将作为无限循环工作。首先启动会话,然后加载 config.php 文件。如果您的 index.php 文件是为未登录的用户准备的,则在加载 index.php 时不要包含 if 块来检查用户是否已登录。因为对于来宾用户,这将创建相同的无限循环。该部分应仅添加到登录用户的页面。
TA贡献1836条经验 获得超13个赞
你的 config.php 中没有会话......所以这样做......
<?php
session_start();
require_once 'config.php';
所以你的会话也将在 config.php 中。或者将 session_start() 行带到 config.php,那可能会更好。
TA贡献2037条经验 获得超6个赞
您已经创建了无需用户登录即可工作的网址白名单。例如,$whitelist = ['Users/login', 'Users/register', '/'];并在重定向条件下检查当前网址
if(!isset($_SESSION['user']) && !in_array($current_url, $whitelist)){
header('location: http://localhost/index.php');
}
并session_start()从其他答案中发出。
- 4 回答
- 0 关注
- 324 浏览
添加回答
举报