在PHP中打印会话变量内容

时间:2013-09-06 11:28:12

标签: php

您好我有以下作为我的登录脚本。 (该剧本尚未消毒。)但我在这里有一个问题。一旦成功登录尝试,我需要回显loggedUser但信息一旦回显就不会被打印出来。有人可以帮我理解我哪里出错了吗?

代码如下;

<?php
SESSION_start();
?>

<!doctype html>
<html>
<head></head>
    <body>
    <div>

<?php

include ("connect_db/index.php"); 

if(isset($_SESSION['loggedUser']))
    {
    echo '<div>User :'.$_SESSION['loggedUser'].'</div>';
    }
else
    { 
        echo "
        <div id='u2'>
                <form name='form1' method='post' action='''>
                  <table border='1'>
                    <tr>
                      <td>User Name:&nbsp;&nbsp;</td>
                      <td><label for='textfield'></label>
                        <input type='text' name='UnameZoom' id='UnameZoom' class='txss'></td>
                      <td>&nbsp;Password:&nbsp;&nbsp;</td>
                      <td><label for='txss'></label>
                        <input type='password' name='PwordZoom' id='PwordZoom' class='txss'></td>
                      <td>&nbsp;<input type='submit' name='loggedUser' id='loggedUser' class='mylog' value='Login'></td>
                    </tr>
                  </table>
                </form>
                <p>&nbsp;</p>
                <p>&nbsp;</p>
        </div>";    


    if(isset($_POST['loggedUser']))
        {
            $un = $_POST['UnameZoom'];
            $pw = $_POST['PwordZoom'];

            if($un=='' || $pw == '')
            {echo "Empty fields"; return;}

            $SQLSz = "SELECT pword FROM users WHERE username='$un'";
            $rVz = mysqli_query($db,$SQLSz) or die ("SQL Error!!!");
            $roVz = mysqli_fetch_array($rVz);

            if($pw == $roVz['pword'])
            {
                $result = mysqli_query($db,"SELECT Lname AS Lna FROM users WHERE username='$un'"); 
                $row11 = mysqli_fetch_assoc($result); 
                $sum = $row11['Lna'];
                $_SESSION['loggedUser'] = $sum;
                echo $_SESSION['loggedUser'];

            }
            else
            {
            echo "No user found";
            }
        }       
    }
?>
<div></body></html>

2 个答案:

答案 0 :(得分:1)

我认为问题在你的变量中。它可以是数组,但不能回显数组。尝试使用var_dump转储变量。

答案 1 :(得分:0)

如前所述 - SESSION_start()应为session_start()

尝试使用另一个语句来显示您的SESSION数组 - 例如:

echo '<pre>';
print_r($_SESSION);
echo '</pre'>;

这将以漂亮可读的方式显示所有会话密钥