我正在尝试将重定向发送到登录页面时收到此错误。 这是我的代码......
localhost页面无效
localhost重定向了你太多次了。尝试清除您的cookie。 ERR_TOO_MANY_REDIRECTS
我正在尝试的任何事情都给了我这个错误。
任何建议都会非常感谢,谢谢!
<?php
if(!$session->is_signed_in()){
header("Location:login.php");
} else{
header("Location:logout.php");
} ?>
和这个
class Session{
private $signed_in = false;
public $user_id;
public function __construct(){
session_start();
$this->check_the_login();
}
// check the value of signed in property - getter method
public function is_signed_in(){
return $this->signed_in;
}
// login method
public function login($user){
if($user){
$this->user_id = $_SESSION['user_id'] = $user->id;
$this->signed_in = true;
}
}
// log out method
public function logout(){
unset($this->$_SESSION['user_id']);
unset($this->user_id);
$this->signed_in = false;
}
// check the login method
private function check_the_login(){
if(isset($_SESSION['user_id'])){
$this->user_id = $_SESSION['user_id'];
$this->signed_in = true;
}else{
unset($this->user_id);
$this->signed_in = false;
}
}
}
$session = new Session();
答案 0 :(得分:1)
似乎您的退出方法有错误。将此行unset($this->$_SESSION['user_id']);
替换为unset($_SESSION['user_id']);
并尝试
public function logout(){
unset($this->$_SESSION['user_id']);
unset($this->user_id);
$this->signed_in = false;
}
应该如下
public function logout(){
unset($_SESSION['user_id']);
unset($this->user_id);
$this->signed_in = false;
}
答案 1 :(得分:0)
尝试在表单中使用POST
请求。我在get
请求后使用重定向时遇到此问题。执行两个get
请求,一个来自form
,另一个来自redirect
会导致无限循环。