如果会话已经开始,如何忽略会话?

时间:2019-04-15 05:50:04

标签: php html

我有一个登录页面,登录后将其带到我的主页。如果用户不注销并稍后再回来,则无需再次登录。但是,如果用户已经登录,则会显示一条错误消息,指出会话已经启动,因此,它将忽略以下代码。

这是我的session.php文件。我想添加一条if语句,说如果会话已经启动,则将用户带到主页,如果会话未启动,则将用户带到登录页面。

<?php
// mysqli_connect() function opens a new connection to the MySQL server. 
$conn = mysqli_connect("localhost", "root", "", "supercar"); 
session_start();// Starting Session
// Storing Session 
$user_check = $_SESSION['login_user']; 
// SQL Query To Fetch Complete Information Of User 
$query = "SELECT * from adminlogin where email = '$user_check'"; 
$ses_sql = mysqli_query($conn, $query); 
$row = mysqli_fetch_assoc($ses_sql); 
$login_session = $row['nom'];
$login_session2 = $row['id'];
$login_session3 = $row['motdepasse'];

?>

5 个答案:

答案 0 :(得分:1)

尝试此代码:

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

答案 1 :(得分:1)

尝试一下

spanClub

答案 2 :(得分:0)

上面的答案可以解决问题,但您还需要检查会话。如果会话正在运行,并且您进入session_start()存在的网页,则会收到错误消息 使用下面的代码。

if (session_status() == PHP_SESSION_NONE) {
    session_start();
}

checkout here session here

答案 3 :(得分:0)

empty()函数将检查该变量是否设置为空。因此,您无需比较其价值。如果值有所不同,则需要比较值。

if(!empty($_SESSION['login_user'])):
   // Your session is already set
else:
   // Your session is not set yet
endif;

答案 4 :(得分:0)

尝试一下:

if(empty($SESSION['login_user'])){
  session_start(); //Start session and put session value
}else{
  //Redirect here
}