0

こんにちは、ログインスクリプトとして次のものがあります。(スクリプトはまだサニタイズされていません。) しかし、ここで問題があります。ログイン試行が成功したら、エコーする必要がありますが、エコー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>
4

2 に答える 2

1

問題は変数にあると思います。配列にすることはできますが、配列をエコーできません。var_dump で変数をダンプしてみてください。

于 2013-09-06T11:32:20.843 に答える
0

すでに述べたように - SESSION_start() はsession_start()

SESSION 配列を表示する別のステートメントを試してください。たとえば、次のようになります。

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

これにより、すべてのセッションキーが読みやすく表示されます

于 2013-09-06T14:08:22.807 に答える