2

セッションに関するstackoverflowに関するいくつかの質問を読みましたが、これに対する答えが見つかりませんでした:-)

その session_start() は、他のコードの前に配置する必要があります-セッションの質問に応答するすべての人がhtmlタグを強調する前であっても。私は主にこのサイトを通じて PHP を学んでおり、最初の php Web サイトを構築しています。unset、destroy、および clear について、ページ上のどこに配置する必要があるかを除いて、すべて理解しました。

これは非常に基本的な質問に違いないことはわかっていますが、ログアウトに関する回答を 4 日間読んだ後、それが見つからず、少し必死になっています。

どんな助けでも大歓迎です、ありがとう

4

5 に答える 5

1

コードを上に書くか下に書くかは問題ではありません。あなたがしなければならないことは、ログアウトボタンがクリックされたときに logout() 関数が呼び出され、その関数内にこのコードが存在することです。これだけのコードを含む logout.php という名前の別の php ファイルを呼び出すこともできます。

于 2013-06-27T17:02:38.880 に答える
0

通常、logout.php ページにセッションを閉じるためのコードを追加してから、ログイン ページにリダイレクトします。logout.php ページには次の数行があります

<?php
session_start();
session_destroy();
header('location:login.php');
?>
于 2013-06-27T13:55:31.480 に答える
0

session_destroyユーザーのセッションを破棄するには、このようにログアウトページに配置する必要があります

session_start(); // start session
session_destroy(); // destroy the current session of user
echo "You are logged out"; // place here greetings that user is logged out
// you can also redirect user to your login page
于 2013-06-27T11:25:10.893 に答える
0

初期化したセッション変数の設定を解除し、ログアウト ボタン アクションで session_destroy() も使用する必要があります。

   function logout() {
          unset($_SESSION['username']);
          session_destroy();
   }
于 2013-06-27T11:31:42.483 に答える
0

session_destroy() の配置について答える前に、unset($_SESSION['username']) と session_destroy の違いを知っているかもしれません。登録されたセッション全体を破棄したい場合は、session_destroy を使用できます。特定の登録セッションを破棄したい場合は、unset($_SESSION['username']) を使用する必要があります。答えを得るには、ログアウト ページに次のコードを記述します。

<?php
session_start();
session_destroy();//destroy all registered session
header('location:login.php');
?>

これがうまくいくことを願っています

于 2013-06-27T11:55:18.697 に答える