已经登录后如何防止用户访问登录页面?

时间:2019-02-21 05:09:31

标签: php session login logout

我想防止用户已经登录时访问登录页面。在标题页面中,我检查了会话,以便用户不登录就无法访问任何管理页面。我必须在标题页面中编写什么代码和会话页面以防止用户已经登录时访问登录页面?

  

这是我的会话课

public static function init(){
    session_start();
}
public static function set($key, $val){
    $_SESSION[$key]=$val;
}
public static function get($key){
    if (isset($_SESSION[$key])) {
        return $_SESSION[$key];
    } else {
        return false;
    }
}
public static function checkSession(){
    self::init();
    if (self::get("login")==false) {
        self::destroy();
        header("Location:login.php");
    }  
}

public static function destroy(){
    session_destroy();

4 个答案:

答案 0 :(得分:2)

此代码可避免用户注销后返回页面

<script src="/firstfile.js">
    // first.js
    window.__INITIAL_STATE__ = {
      back  : "#fff",
      front : "#888",
      side  : "#369"
    };
</script>
<script src="/secondfile.js">
    //second.js
    console.log(window.__INITIAL_STATE__)
    alert (window.__INITIAL_STATE__);
</script>

此代码是为了避免用户重复登录

if(!isset($_SESSION['login_user'])){
  header("location:login.php");
  location.reload();
 }

答案 1 :(得分:1)

检查登录页面上的会话变量值是否存在,然后重定向或仪表板或主页(如果不存在)在登录页面上重定向会话变量值。

答案 2 :(得分:1)

这样写您的登录页面:

<?php
   session_start();
   if(isset($_SESSION['key'])){
      header('home.php');
   } else {
      //Paste login page code here
   }
?>

答案 3 :(得分:0)

<?php
// Initialize the session
session_start();

// If user is already logged in, redirect to index
if($_SESSION["loggedin"] == true){
    header("location: index.php");
}

?>