2017-09-04 3 views
0

インデックスページに単一のログアウトボタンを指定することで、すべてのログアウト状況(タイムアウトセッション、または単に[logout.php]ページを参照する任意のメソッド)をオーバーライドしようとしています。これは可能ですか?そして私は何を欠場したのですか?前もって感謝します。単一のログアウトの場合の指定

[index.phpの]で使用されるコード:

<?php 
session_start(); 
if(isset($_POST['logout'])) { 
    $_SESSION['logout_command'] = 1; 
    header("Location: logout.php"); 
} 
?> 

<form action="" method="post"> 
    <input type="submit" name="logout" value="LOGOUT!!!"> 
</form> 

そして[logout.php]のコード:

<?php 
session_start(); 
if(isset($_SESSION['logout_command'])) { 
    $check = $_SESSION['logout_command']; 
    if($check = 1) { // AND ONLY IF! 
     session_destroy(); 
     header("Location: login.php"); 
    } else { // BACK OFF! 
     header("Location: index.php"); 
    } 
} else { // ALSO BACK OFF! 
    $_SESSION['logout_command'] = 0; 
    header("Location: index.php"); 
} 
?> 

UPDATE:だから、私は比較逃しました(==)記号...また、各[header()]の後の[exit()]関数はシーケンス内にあります...皆様に感謝します。

+1

(「場所:/example.php」);'あなたが使用する必要があります'exit();'メソッド。 – KDOT

+0

@Qirel正直なところ私の目的ではありませんでした...私はただログアウトプロセスを制限することを心配しています... – Sky7ure

+1

@ Sky7ureあなたの質問が重複としてフラグが立てられていれば問題ありません。 /より深い説明で単一スレッドに発行するので、より大きいユーザベースでより有用で使いやすくなります。 – Qirel

答えて

3

あなたがあれば、あなたの最初の値を代入している、条件をやっていない:すべての `ヘッダの後

if($check == 1) { 
+0

うわー!それはすべてですか?^ _^" – Sky7ure

+1

それ以外のものはOKです。確認しましたか? – ishegg

関連する問題