0

私は問題があります 、

ユーザーのログインを確認するログインページがあり、ユーザーが正常にログインすると、新しいセッションを開始します。

$loggedIn = new loggedIn();
                    $loggedIn->email = $userdetails["email"];
                    $loggedIn->displayname = $userdetails["display_name"];
                    $loggedIn->username = $userdetails["user_name"];


                                        var_dump($loggedIn->username);

                    //Update last sign in
                                        session_start();
                    $_SESSION["user"] = $loggedIn;

                                        $kk =  $_SESSION["user"];
                                        var_dump($kk->username);

成功したセッションの作成が表示されますが、他のページに移動するか、このページに戻ると、セッションがありません。

isset($_SESSION["user"])

なぜ ?

4

2 に答える 2

1

session_start();セッションを使用するすべてのページの上に配置する必要があります。また、class loggedInが必要なすべてのページで定義されていることを確認してください。

于 2012-11-16T15:35:22.773 に答える
0

session_start()セッションからデータを取得する場合に使用する必要がある場合 は、すべてのページに挿入する必要があります。session_start()ブラウザに何かを出力する前に呼び出す必要があります。

関数を使用して情報を取得した後。保存したセッションにすべてのデータを表示したい場合は、次のように配列セッションを印刷できます。

var_dump($_SESSION);

もう1つの考えられる問題は、クラスである可能性がありますloggedIn
このクラスを正しい方法でインスタンス化しましたか?
そのクラスなどでエラーが発生する可能性があります。

于 2012-11-16T15:33:21.257 に答える