0

ユーザーがログインしているかどうかをphp Webサイトで確認できるようにするにはどうすればよいですか?

「ログイン」ではなく「マイアカウント」へのリンクを表示したい。

元。ユーザーがホームページに移動し、右上隅の [ログイン] をクリックすると、ログイン後、再度ホームページを参照すると、[ログイン] ではなく [マイ アカウント] が表示されます。

ログインボタンはこんな感じ。ユーザーがログインしている場合、これを「私のアカウント」に置き換えられるようにしたい。

http://i.stack.imgur.com/8xCDB.png

更新: これは、現在使用しようとしているコードです。69/72行目でエラーが発生します

    <form action="scripts/login.php" id="login-form">
        <fieldset>
        <?php
       if(isset($_SESSION['name_of_user']))
       {
    **LINE 69** <a href="your_account.php" class="login" onClick="submit"><span><span>My Account</span></span></a><span class="links"><a href="reset-pwd-req.php">Forgot Password?</a><br/><a href="create_account.php">Register</a></span>     }
        } 
        else{
    **LINE 72**     <a href="general_login.php" class="login" onClick="submit"><span><span>Login</span></span></a><span class="links"><a href="reset-pwd-req.php">Forgot Password?</a><br/><a href="create_account.php">Register</a></span>     }
        ?>
4

1 に答える 1

2

したがって、これを行うにはセッションを使用する必要があります。

まず、php ファイルの先頭でこれを呼び出します。

session_start();

セッションを開始するには、$_SESSION変数を設定できます。ユーザーがログインすると、次のように設定できます (たとえば)。

$_SESSION['user_name'] = "Lucas Weir";

次に、次の php スクリプトで実行できます。

if(isset($_SESSION['user_name'])){
    // user is logged in, hide the button here
} else {
    // user is not logged in, show the login button
}

セッションはまったく複雑ではありませんが、調べる価値があります。これはセッションを使用するための非常に基本的な方法ですが、まったく安全ではありません。正直なところ、まだセッションを使用せずにユーザー ログイン/認証スクリプト全体を作成できたことに驚いています。;)

編集:もう少し情報。

セッションはサーバーに保存されます。それらはクッキーに「似ています」。セッション トークンは、クライアント コンピューターの Cookie に保存されます。これは、サーバーに保存されているセッション情報を相互参照するために使用されます。

セッション トークン (セッション ID) はクライアント コンピューターに保存されるため、別のスクリプトが読み込まれるたびに送信できます。これは$_SESSION['name'] = "value";、同じ値を使用してセッション変数を設定すると、次に呼び出されるスクリプトで取得できることを意味します。

もう少し詳しい情報といくつかの例/チュートリアルについては、http ://www.w3schools.com/php/php_sessions.asp をご覧ください。

于 2013-05-13T15:31:12.727 に答える