1

ログインページとその機能は正常に動作しますが、ユーザーが 1 つのアカウントでログインし、ログイン後に同じブラウザーで新しいウィンドウを開いて loginviewcontroller.php を入力すると、以前のログインが表示されないという問題が発生しました。 php ページとユーザーは、2 つのウィンドウで同時に異なるアカウントでログインできます。

ユーザーが複数のウィンドウにログインするように制限するにはどうすればよいですか?

ユーザーが同じブラウザーで新しいウィンドウを開いてwww.gmail.comと入力したときにブラウザーに一度ログインした場合、gmailのような機能が必要です。ログインしたユーザー情報は表示されますが、gmailログインは表示されませんページ...

この問題を解決するのを手伝ってください。

これがloginviewcontrollerコードです

<?php

header("Cache-Control: private, must-revalidate, max-age=0");
header("Pragma: no-cache");
header("Expires: Fri, 4 Jun 2010 12:00:00 GMT");

if (!isset($_POST['submit'])) {
    /// HTML code for login page....
} else {
    /// Here the values are posting...

    $Username  = $_POST['uname'];
    $Password  = $_POST['pwd'];
    $User_Type = $_POST['type'];
    session_start();

    If (!(empty($Username) && empty($Password) && empty($User_Type))) {

        $model = new UsersModel();

        $rowsCount = $model->checkUser($Username, $Password, $User_Type);

        if ($rowsCount != 0) {
            $_SESSION['user'] = $Username;

            header("location:loggedin.php");

        } else {
            echo '<script type="text/javascript">alert("Enter username and password correctly");
              window.location.href="LoginViewController.php";</script>';
        }
    }

   }
    ?>

これがloggedin.phpコードです

<?php

session_start();
$_SESSION['logged_in'] = 'true';

if (!isset($_SESSION['user'])) {
    header('Location: LoginViewController.php');
    exit();
}
echo '"<div style="background:white; text-align:right"> Login as:' . $_SESSION['user'] . '
       <a href="LogoutViewController.php" style="text-align:right">Logout</a></div>"';
?>
4

2 に答える 2

0

ユーザーのセッションで変数を設定しています。この変数が設定されている場合、ユーザーはすでにログインしているため、ユーザーの再ログインを許可することはできません。

また、 session_start ()を呼び出すことを忘れないでください。つまり、これをログインページの一番上に置くことができます:

session_start();
if (isset($_SESSION['user']))
  header("location:loggedin.php");
于 2013-06-15T11:48:22.710 に答える
0

ログインページで

<?php

session_start();

if (!isset($_SESSION['user'])) {
    header('Location: LoginViewController.php');
    exit();
}
于 2013-06-15T11:50:39.693 に答える