0

2つのページと1つのクラス、index.php、loggedin.php、userclass.phpがあります。

****

Index.php

****

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


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

****

logedin.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");
}

****

Userclass.php

****

public $loggedin = false;


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

login.phpにリダイレクトされない限り、ログアウトしたり、インデックスページにアクセスしたりできません。ログインした変数のスコープ、またはそれがどこで使用されているかと関係があるのではないかと感じています。申し訳ありませんが、私はOO phpを初めて使用するので、助けていただければ幸いです。ありがとう

ps他のいくつかの無関係な機能は省略されましたが、それらが関連していると思われる場合は、それらも投稿します。

4

1 に答える 1

2

比較を行うには、2つの等号を使用する必要があります。そうでない場合は、次のように割り当てます。

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

....

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

あなたがそれを書いた方法で、あなたは毎回loggedin等しく設定しています。true

于 2012-08-03T14:37:26.067 に答える