0

我有 2 个页面和一个类,index.php、loggedin.php 和 userclass.php。

**

索引.php

**

require 'userclass.php';
$user = new User();


if($user->loggedin = true){
    header("location: loggedin.php");
    die();
}   

**

登录.php

**

require 'userclass.php';
$user = new User();

if($user->loggedin = false){
    header("location:index.php");
    die();
}


if(isset($_POST['logout'])){
    $user->logout();
    header("location:index.php");
}

**

用户类.php

**

public $loggedin = false;


public function logout(){
    session_destroy();
    $this->loggedin = false;
    return $this->loggedin;
}

我无法注销或访问索引页面而不会被重定向到 login.php。我有一种感觉,这可能与我的登录变量范围有关,或者它在哪里被使用?抱歉,我是 OO php 的新手,不胜感激。谢谢

ps 一些其他不相关的功能被遗漏了,但是如果您认为它们可能相关,我也会发布它们。

4

1 回答 1

2

您需要使用两个等号进行比较,否则您正在执行分配:

if($user->loggedin == true){

....

if($user->loggedin == false){

你写它的方式,你设置loggedin等于true每次。

于 2012-08-03T14:37:26.067 回答