Проблем с логин система

chepa

Registered
Значи като си влезна с потребителското име и парола запазва сесията, но на реда:

Код:
echo "<b class='hui'>Здравей, $Username</b><br/><br/>";

не ми изписва потребителското име пише само "Здравей," Да си имате на идея защо ? Прегледах кода сигурно 20 пъти ..
Код:
<?php
ob_start();
session_start();
$Username = $_SESSION['Username'];
$result = mysql_query("SELECT * FROM register WHERE Username = '$Username'");

while($row = mysql_fetch_array($result))
  {
  $id = $row['id'];
  $Username = $row['Username'];
  }
if(isset($_SESSION['Username'])){
$Username = $_SESSION['Username'];
echo '<table>';
   echo '
      <tr><td style="padding: 20px; padding-top: 0px; padding-bottom: 0px;"><b class="users"><img src="images/login.png" />&nbsp</b></td><td><b class="hui">Здравей '.$Username.'</b><br/></td></tr>
';
echo '</table>';

} elseif(isset($_POST['login'])){

//Данни от формуляра

 $Username = $_POST['Username'];
 $password = $_POST['password'];
       
//Защита срещу html тагове..

 $Username = htmlspecialchars($Username);
 $Username = addslashes($Username);

//Променливите за проверка на юзърнейм-а и паролата
 $query = "SELECT * FROM register WHERE Username = '$Username'";
 $result = MYSQL_QUERY($query) or die(mysql_error());
 $number = MYSQL_NUMROWS($result);

 $pass = $result["Password"];
 $user = $result["Username"];
 $Email = $result["Email"];
 $avatar = $result["avatar"];   
 $prava223 = $result["prava"];


if ($number=='0')
{
echo "<p><b class='hui'>Няма такъв потребител</b></p>";



}

else
   {
     if (!$password == $pass)
{


$_SESSION['Username']=$user;
$_SESSION['avatar']= $avatar;
$_SESSION['id']=$id;
$_SESSION['Email']=$Email;



$_SESSION['prava']=$prava223;

$Username = $_SESSION['Username'];
echo "<b class='hui'>Здравей, $Username</b><br/><br/>";
if($avatar == NULL){
echo '<center><img src="upload/no-avatar.png" width="150px" height="150px" alt=""/></center><br/>';
}
else{
echo'<center><img src="'.$_SESSION['avatar'].'" width="150px" height="150px" alt="'.$Username.'"/></center><br/>';
}
echo "<a href='changepass.php?id=$id'class='hui4e'>Смени парола</a><br/>";
echo "<a href='edit_profile.php'class='hui4e'>Редакция на профил</a><br/>";
echo "<a href='pm.php?id=$id'class='hui4e'>Лични съобщения</a><br/>";
echo "<a href='logout.php' class='hui4e'>Изход</a><br/>";

}

else
{
     echo "<b class='hui'>Грешна парола. Опитайте</b><br/>";
    echo "<a href='index.php'class='hui4e'>Отoнво</a>";
     
}
 }

}else{
echo '
<form action="index.php" method="post">
<div class="menu">
<b class="hui">Потребител:</b><br/>
<input style="background-color: white; border: 1px solid black; width: 154px;" type="text" name="Username"/><br/><br/>
<b class="hui">Парола:</b><br/>
<input style="background-color: white; border: 1px solid black; width: 154px;" type="password" name="password"/><br/><br/>
<input style="background-color: white; border: 1px solid black; width: 54px; " type="submit" name="login" value="Вход"/>
<br/><br/>
<div style="padding-left: 5px;">
<a href="register.php" >Регистрация</a>

</div>
</div>
<br/>
</form>
'; }
?>
 
Ти не извличаш самите колони от заявката, а просто резултата.
Преправи този ред
PHP:
$result = MYSQL_QUERY($query) or die(mysql_error());
така
PHP:
$do_query = MYSQL_QUERY($query) or die(mysql_error());
$result = mysql_fetch_array($do_query)or die(mysql_error());
:idea:
 
Код:
<?php
ob_start();
session_start();
$Username = $_SESSION['Username'];
$result = mysql_query("SELECT * FROM register WHERE Username = '$Username'");

while($row = mysql_fetch_array($result))
  {
  $id = $row['id'];
  $Username = $row['Username'];
  }
if(isset($_SESSION['Username'])){
$Username = $_SESSION['Username'];
echo '<table>';
   echo '
      <tr><td style="padding: 20px; padding-top: 0px; padding-bottom: 0px;"><b class="users"><img src="images/login.png" />&nbsp</b></td><td><b class="hui">Здравей '.$Username.'</b><br/></td></tr>
';
echo '</table>';

} elseif(isset($_POST['login'])){

//Данни от формуляра

 $Username = $_POST['Username'];
 $password = $_POST['password'];
       
//Защита срещу html тагове..

 $Username = htmlspecialchars($Username);
 $Username = addslashes($Username);

//Променливите за проверка на юзърнейм-а и паролата
 $query = "SELECT * FROM register WHERE Username = '$Username'";
 $result = MYSQL_QUERY($query) or die(mysql_error());
 $number = MYSQL_NUMROWS($result);
 $row=mysql_fetch_assoc($result);

 $pass = $result["Password"];
 $user = $row["Username"];
 $Email = $row["Email"];
 $avatar = $row["avatar"];   
 $prava223 = $row["prava"];


if ($number=='0')
{
echo "<p><b class='hui'>Няма такъв потребител</b></p>";



}

else
   {
     if (!$password == $pass)
{


$_SESSION['Username']=$user;
$_SESSION['avatar']= $avatar;
$_SESSION['id']=$id;
$_SESSION['Email']=$Email;



$_SESSION['prava']=$prava223;

$Username = $_SESSION['Username'];
echo "<b class='hui'>Здравей, $Username</b><br/><br/>";
if($avatar == NULL){
echo '<center><img src="upload/no-avatar.png" width="150px" height="150px" alt=""/></center><br/>';
}
else{
echo'<center><img src="'.$_SESSION['avatar'].'" width="150px" height="150px" alt="'.$Username.'"/></center><br/>';
}
echo "<a href='changepass.php?id=$id'class='hui4e'>Смени парола</a><br/>";
echo "<a href='edit_profile.php'class='hui4e'>Редакция на профил</a><br/>";
echo "<a href='pm.php?id=$id'class='hui4e'>Лични съобщения</a><br/>";
echo "<a href='logout.php' class='hui4e'>Изход</a><br/>";

}

else
{
     echo "<b class='hui'>Грешна парола. Опитайте</b><br/>";
    echo "<a href='index.php'class='hui4e'>Отoнво</a>";
     
}
 }

}else{
echo '
<form action="index.php" method="post">
<div class="menu">
<b class="hui">Потребител:</b><br/>
<input style="background-color: white; border: 1px solid black; width: 154px;" type="text" name="Username"/><br/><br/>
<b class="hui">Парола:</b><br/>
<input style="background-color: white; border: 1px solid black; width: 154px;" type="password" name="password"/><br/><br/>
<input style="background-color: white; border: 1px solid black; width: 54px; " type="submit" name="login" value="Вход"/>
<br/><br/>
<div style="padding-left: 5px;">
<a href="register.php" >Регистрация</a>

</div>
</div>
<br/>
</form>
'; }
?>
 
Най-вероятно проблемът ти е от главната буква "U". Ако е така като поправиш заявката:
$result = mysql_query("SELECT * FROM register WHERE Username = '$Username'");

на

$result = mysql_query("SELECT Username FROM register WHERE Username = '$Username'");

и ще се оправи.
 

Back
Горе