为什么我的会话登录不在一个页面上工作?

时间:2017-07-04 10:45:08

标签: php mysql session

我正在php创建一个小型网络应用。

我正在创建一个个人资料页面,但是在登录时没有识别该会话。我在其他页面上有相同的代码来识别它并且它100%有效。但是在这个页面上,即使我已经登录也不会。

<?php
    ob_start();
    session_start();
    include '../Accounts/Header.php';
    if( isset($_SESSION['signed_in'])!="" ){
       echo 'You are not logged in';
    }

    include '../Database/Dbconnect.php';

    $sql = "SELECT * FROM users WHERE userId=".$_SESSION['Name'];

    $result  = mysql_query($sql);

    if(!$result){
        echo 'Error executing query';
    } else {
        while($row = mysql_fetch_array($query)){
            echo $row['userEmail'];
        }  
    }
?>

2 个答案:

答案 0 :(得分:0)

你正在比较真假|假!=“”
变化

if( isset($_SESSION['signed_in'])!="" ){
    echo 'You are not logged in';
}

if(!isset($_SESSION['signed_in'])){
    echo 'You are not logged in';
}

答案 1 :(得分:0)

试试这个。

您应首先检查$_SESSION['signed_id']是否已设置。

如果已设置,它将显示You are not logged in,脚本将在该语句后终止。

希望这会对你有所帮助。

<?php
ob_start();
session_start();
include '../Accounts/Header.php';
if(!isset($_SESSION['signed_in'])){
   echo 'You are not logged in';
   die();
}

include '../Database/Dbconnect.php';

if(isset($_SESSION['Name'])):
   $sql = "SELECT * FROM users WHERE userId=".$_SESSION['Name'];

   $result  = mysql_query($sql);

   if(!$result){
       echo 'Error executing query';
   } else {
       while($row = mysql_fetch_array($query)){
          echo $row['userEmail'];
       }  
   }
endif;
?>