如何避免在我的管理面板(PHP)中登录两次


How to avoid in login twice in my admin panel (PHP)

我创建了一个管理面板,我可以在其中编辑我的网站,但我总是需要登录两次才能访问我的管理面板。我怎样才能避免这种情况?

正在现有的管理面板中工作,只需登录一次,我复制了门户中的所有内容,但结果是我仍然需要登录两次。

这是我的联系。

<?php
$errormsg = "";
if (isset($_POST['submit']))
{
  $email             = $_POST['email'];
  $pass              = $_POST['password'];
  $salt              = sha1(md5($pass));
  $passwordencrypted = md5($pass . $salt);
  $stmt=$db->prepare("SELECT count(*) as count FROM users WHERE email=?");
  $stmt->execute(array($email));
  while($row=$stmt->fetch(PDO::FETCH_ASSOC)) {
    $row_count = $row['count'];
  }
  if ($row_count == 1)
  {
    $statement = $db->prepare("SELECT * FROM users where email = :name");
    $statement->execute(array(
        ':name' => "$email"
    ));
    while ($row = $statement->fetch(PDO::FETCH_ASSOC)) {
        $userID      = $row['userID'];
        $lpass       = $row['password'];
        $userlevelID = $row['userlevelID'];
    }
    if ($lpass == $passwordencrypted) {
      $_SESSION["userID"]      = $userID;
      $_SESSION["userlevelID"] = $userlevelID;
      if (getenv('HTTP_X_FORWARDED_FOR')) {
          $pipaddress = getenv('HTTP_X_FORWARDED_FOR');
          $ipaddress  = getenv('REMOTE_ADDR');
          $ipaddd     = "Logged In using Proxy IP address is: " . $pipaddress . "(via $ipaddress)";
      } else {
          $ipaddress = getenv('REMOTE_ADDR');
          $ipaddd    = "Logged In using IP address: $ipaddress";
      }
      $currentdatetime = date('Y-m-d H:i:s');
      $auditaction = "Logged In";
      $auditdetail = $ipaddd;
      $stmt        = $db->prepare("INSERT INTO audittrail(userID,[action],detail,[when]) VALUES(:uid,:action,:detail,:when)");
      $stmt->execute(array(
          ':uid' => $userID,
          ':action' => $auditaction,
          ':detail' => $auditdetail,
          ':when' => $currentdatetime
      ));
      $_SESSION['isLoggedIn'] = true;
      /////////////////////////////////////////
      //$_SESSION['timeOut'] = 5;
      $_SESSION['timeOut'] = 600;
      $logged = time();
      $_SESSION['loggedAt']= $logged;
      if ($userlevelID == 1) {
      } elseif ($userlevelID == 2) {
          header("location:portal/");
      }
    } else {
        header("location:index.php?error=c4ca4238a0b923820dcc509a6f75849b"); // 1
    }
    }
    else {
      header("location:index.php?error=c81e728d9d4c2f636f067f89cc14862c"); //2
  }
}
?>

index.php页面:

添加以下代码:

session_start();
if($_SESSION['isLoggedIn']) { 
    header(Location: adminpage.php);
}

这将在$_SESSION为 true 时重定向用户,如果未设置$_SESSION,则将停留在登录页面。