0

ユーザーがパスワードを変更できるページを作成しています。しかし、パスワードは私のセッションの一部です。

これが私のセッションです:

$_SESSION['myid'] = $myid;
$_SESSION['myusername'] = $myusername;
$_SESSION['mypassword'] = $mypassword;

ユーザー名、パスワード、ユーザーのIDをセッションに保存しています。セッションが真であるかどうかをチェックするチェックをすべてのページで取得しました。

require ('../handlers/loginhandler.php');

session_start();

    if (!isset($_SESSION['myid'])){  //in this part I skipped the username and password

    header("a page");

    }

    else {

    my page 

    } 

パスワードを変更したいのですが、loginhandlerが間違っているようです。そのため、セッションを再開して、新しいパスワード値をセッションに入れる必要があります。しかし、私はそれを機能させることができないようです。

ユーザーIDのみをセッションに入れて、どの値を変更してもログハンドラーが同じままになるようにすることはできますか?正しい値を取得するには、最初にログアウトして再度ログインする必要があるためです。または、再起動コードはありますか?

4

1 に答える 1

0

の新しい値でセッションを更新するだけで機能する$_SESSION['password']はずです(session_start()変更を試みる前にセッションを終了したと仮定します)。

そうは言っても、とにかくセッションにユーザーのパスワードを保存することは一般的に悪い考えなので、これはそれを削除する良い機会です。一方、ユーザー名を保存することは問題なく、不要なデータベース検索を防ぐことができる可能性があります。

于 2013-01-23T15:30:06.190 に答える