2013-09-06 5 views
0

Привет У меня есть следующий сценарий входа. (Сценарий еще не очищен.) Но у меня есть проблема. После успешной попытки входа в систему мне нужно выполнить эхо-код loggedUser, но информация не будет напечатана после повторного эха. Может ли кто-нибудь помочь мне понять, где я ошибся?Содержимое переменной сеанса печати в PHP

Код следующим образом;

<?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> 
+5

'SESSION_start();' должно быть 'session_start();' –

+0

сначала проверить внутри еще часть, действительно ли вы получаете значение в $ sum? – Kalpit

ответ

1

Я думаю, что проблема в вашей переменной. Это может быть массив, но не соответствующий эхо-массиву. попробуйте сбросить переменную с помощью var_dump.

+0

Однако, если вы попытаетесь эхо-массива, он просто напечатает «массив» в браузере. Но var_dump - хорошее предложение –

0

Как уже упоминалось - SESSION_start() должен быть session_start()

Попробуйте еще одно заявление для отображения вашего массива SESSION - например:

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

Это покажет вам все сеансовые ключи в хорошем и понятным способом

Смежные вопросы