1

これが私がユーザーにログインするために使用しているコードです:

    if($username==$db_username&&$password==$db_password)
    {
        session_start();
        echo 1;
        header("Location: index2.php");
        $_SESSION['username']=$db_username;

これで、ログインしたユーザー名にセッションが割り当てられることになっています。私のアプリケーションでは、ログアウトオプションがないため、ログインページに移動して、別のユーザー名とパスワードを送信します。したがって、これらの新しい情報が送信されるときは、古いセッションを破棄し、新しいユーザーに新しいセッションを割り当てる必要があります。それをしてもいいですか ?

4

3 に答える 3

2

あなたができることは、session_destroy(ログアウトシステム)を使用する代わりに、session_unset関数を使用してすべてのセッション変数をクリアすることです。次に、を使用session_regenerate_id()して新しいセッションIDを作成し、古いセッションIDをダンプし(これは自動的に行われます。その関数と一緒に「true」ブールパラメータを送信する必要がある場合があります)、新しいデータを$_SESSION['username']に割り当てます。

セッションのドキュメントを確認してください_regenerate_id()

于 2012-05-26T19:18:15.970 に答える
2

書き込み logout.phpunset()セッション。

session_start();
unset($_SESSION['username']);
于 2012-05-26T19:20:58.197 に答える
0

セッションdestroyメソッドを使用することをお勧めします。セッションに保存されたすべてのデータを破棄します。

session_start();

//add some code of your app here

session_destroy();
于 2012-05-26T19:24:11.257 に答える