2016-07-11 6 views
2

ここに私のlogout.phpの私のコードです。私のコードをサーバーにアップロードすると、なぜ私のlogout.phpが動作しないのですか?

session_start(); 
    session_unset(); 
    session_destroy(); 
    header("Location: ../index.php"); 

私は私のローカルホストでそれを実行すると、このコードは正常に動作しますが、私は自分のサーバーにアップロードするとき、それは動作しませんでしたし、私のウェブサイトから私ができなかっログアウトます。 「ありがとうございました。

+0

ブラウザから直接logout.phpページを呼び出してもらえますか? – Avishake

+0

logout.phpを実行するとどうなりますか?それはindex.phpにリダイレクトされるかどうか? –

+1

"それはうまくいきませんでした"私たちを助けません、それをデバッグしましょう:ヘッダ( "場所.. var_dump($ _ SESSION)を書き込もうとしています; - ファイルを実行すると何の出力ですか? –

答えて

-2

セッションが破損する前に初期化されていることを確認してください。

session_start() ; 
var_dump($_SESSION); // Check session is set/not 
session_destroy() ; 
header("Location: ../index.php"); 

セッション値が印刷されている場合は、必ず破棄することができます。

+0

それは何も示していない、まだ白い画面と同じページに.. –

+0

これはコメントではありません – urfusion

0

logout.phpが動作しないシナリオが複数あります。最も一般的なのは、あなたの権限が間違っていて、セッションファイルをサーバー上に作成できないということです。

このような場合には、エラー報告を有効にすることをお勧めします。 、それに続いて

// Put this code in your logout.php temporarily 
error_reporting(E_ALL); 
ini_set('display_errors', 'On'); 

あなたのセッションが既に開始されていないことを確認してください:あなたは、あなたのPHPファイルの先頭に以下の行を置くことによってこれを行うことができます。

// Replace session_start(); in all files with this 
if (!isset($_SESSION)) { 
    session_start(); 
} 

上記のコードの変更により、エラーが表示されることがあります。

+0

私は置くべきです error_reporting(E_ALL);ini_set( 'display_errors'、 'On');すべてのファイルに ? とはどういう意味ですか? if(!isset($ _ SESSION)){ session_start(); } このコードはどこに置く必要がありますか?私は問題がセッションファイルはあなたが言ったようにサーバー上で作成することはできないと思うが、私はなぜ..私はちょうどそれが私のサーバーcpanelで動作しませんが、なぜそれは私のlocalhostで正常に動作しません。 –

関連する問題