无法返回会话数据(用户名)

时间:2014-07-02 04:36:21

标签: php

我正在尝试集成我工作的php登录脚本,但我似乎无法在页面上进行简单的php调用。在此用户配置文件页面上,我想只显示用户名(mysql字段为“name”)。用户已登录并且会话已完成,但在此页面上,我看到的只是文本“这是您的个人资料信息...”代码中可能出现的问题是什么,以防止显示用户名?

<?php 
    include_once('classes/check.class.php');
    include_once('header.php');

    if( protectThis("*") ):

    if(!isset($_SESSION)) {
        session_start();
    }

    if(isset($_SESSION['jigowatt']['name'])) {
       echo "You're name is: " . $_SESSION['jigowatt']['name'];
    }
?>


<br />
Here are is your profile info...

<?php 
    else : 
?>
<div class="alert alert-warning">
<?php _e('Only signed in users can view what\'s hidden here!'); ?></div>
<?php 
    endif;

    include_once('footer.php'); 
?>

3 个答案:

答案 0 :(得分:0)

您需要将session_start();放在页面的顶部。在此之前不能放置空白区域。试试这是否有效。

答案 1 :(得分:0)

对于检查会话已设置已使用session_id()同时检查您是否已将$_SESSION['jigowatt']['name']设置为empty()

if(session_id() == '') {
    session_start();
 }
if(!empty($_SESSION['jigowatt']['name'])) {
   echo "You're name is: " . $_SESSION['jigowatt']['name'];
}
else {
  echo 'username is empty';
}

答案 2 :(得分:0)

首先,你需要在页面顶部编写会话,如果它工作正常,那么你可以试试这个。

只需在session_start();

之前和之后附加此2功能

喜欢这个

ob_start();
session_start();
ob_end_clean();