0

ユーザーがログインすると、ログインしている間、「ログイン」メニュー項目が「ログアウト」に変わるようにセッションを作成しようとしています。ログインすると、私の success.php ファイルが実行されます。

<?php
    session_start();
    $_SESSION['loggedin'] = 1;
?>

今私が持っているメニューの下に

<?php
if($_SESSION['loggedin']=1)
echo '<a href="logout.php">Logout</a>';
else
echo '<a href="login.html">Login</a>';
?>

ログアウトページもあります

<?php
    session_start();
    session_destroy();
?>

ただし、ここで起こっていることは、ユーザーがセッションを作成するためにまだログインしていない場合でも、デフォルトではログインするのではなく、ログアウト オプションが表示されているということです。

これが正しい処理方法かどうかはわかりませんが、アドバイスをいただければ幸いです。

ありがとう。

4

3 に答える 3

2
if($_SESSION['loggedin']=1)

次のようにする必要があります。

if($_SESSION['loggedin']===1)
于 2013-01-14T01:30:32.637 に答える
1

ログインの場合:

if username and password is ok {

session_start();
$_SESSION['loggedin'] = "something";

}

メニューについて

  if(isset($_SESSION['loggedin'])) {
    echo "<a href="logout.php"> logout </a>";
    } else {

    echo "<a href="login.php"> login </a>";
    }

ページを変更したときにセッションが記憶されるようにするには、 というファイルを作成し、session.php次のコードを保存する必要があります。

<?php 

    session_start();

     if(isset($_SESSION['loggedin']) && !empty($_SESSION['loggedin'])) {

     return true;
     }else {
     return false;
     }
     }

 ?>

次に、このページをすべての .php ページに含めます

于 2013-01-14T01:31:00.937 に答える
0

メニューの場合、次のようにできます

if(isset($_SESSION['user_email']))
            {
            print "<span class=\"userg1\"><strong>".$user."</strong></span>&nbsp";
            print "<form method=\"link\" action=\"logout.php\">
            <input type=\"submit\" name=\"Log Out\" value=\"Log Out\" class=\"f1\"/>&nbsp;
            </form>";
            }
            else
            {
            print "<form method=\"link\" action=\"formvu.php\">
            <input type=\"submit\" name=\"log In\" value=\"Register\" class=\"f1\"/>&nbsp;
            </form><form method=\"link\" action=\"login2.php\">
                <input type=\"submit\" name=\"log In\" value=\"Log In\" class=\"f1\"/>&nbsp;
                </form>";
            }

ただし、ページの最初でページ全体をロードする前にセッションを確認してください

于 2013-12-01T16:36:27.367 に答える