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

lqbo123

Registered
ЗдравейТЕ искам да ВИ попитам за логин системата защо като съм го инклуднал във всички файлове които ми трябва да има не се запазва сесията и като отида на друга страница или като презаредя пак ми искам логин наме и тнт защото не се запазва сесията май нз как :



Код:
<?php
@session_start();
include "login/config.php";
?>

<?php
if (isset($_POST['submit']))
{
$username = $_POST['username'];
$password = $_POST['password'];
$sql = "SELECT * FROM users WHERE username = '$username'";
$result = mysql_query($sql) or die (mysql_error());
$broi = mysql_num_rows($result);
$row = mysql_fetch_assoc($result);
if($broi == 0) {
    echo "Няма такъв потребител!";
}
    else {
        if ($password == $row[password]) {
            $_SESSION['username'] = $row[username];
        }
    }
}
elseif (!isset($_POST['submit']) AND !isset($_SESSION['username']))
{
    echo "<ul>
            <li>
               <h2>Здравей</h2>
               <p>";
echo '
<form action="" method="post">
<center>Потребител:<br /><input type="text" name="username" /><br /><br />
Парола:<br /><input type="password" name="password" /></center><br /><br />
<center><input type="submit" name="submit" value="Вход" /></center>
</form><br /><br />
<center><a href="register.php">[ Регистрация ]</a></center>
';
echo "</li>";
}
$potrebitel = $_SESSION['username'];
if($potrebitel) {
           echo "<ul>
            <li>
               <h2>"."Здравей ". $potrebitel."</h2>
               <p>
               </li>";
       echo "<p><a href='profile.php'>Профил</a></p>";         
         echo "<p><a href='login/logout.php'>Излез</a></p>";
}
?>      
   
               </p>
            </li>
:o :o :o :o :o
 
Код:
	 <?php
session_start();
include "login/config.php";
?>

<?php
if (isset($_POST['submit']))
{
$username = $_POST['username'];
$password = $_POST['password'];
$sql = "SELECT * FROM users WHERE username = '$username'";
$result = mysql_query($sql) or die (mysql_error());
$broi = mysql_num_rows($result);
$row = mysql_fetch_assoc($result);
if($broi == 0) {
    echo "Няма такъв потребител!";
}
    else {
        if ($password == $row['password']) {
            $_SESSION['username'] = $row['username'];
        }
    }
}
elseif (!isset($_POST['submit']) AND !isset($_SESSION['username']))
{
    echo "<ul>
            <li>
               <h2>Здравей</h2>
               <p>";
echo '
<form action="" method="post">
<center>Потребител:<br /><input type="text" name="username" /><br /><br />
Парола:<br /><input type="password" name="password" /></center><br /><br />
<center><input type="submit" name="submit" value="Вход" /></center>
</form><br /><br />
<center><a href="register.php">[ Регистрация ]</a></center>
';
echo "</li>";
}
$potrebitel = $_SESSION['username'];
if($potrebitel) {
           echo "<ul>
            <li>
               <h2>"."Здравей ". $potrebitel."</h2>
               <p>
               </li>";
       echo "<p><a href='profile.php'>Профил</a></p>";         
         echo "<p><a href='login/logout.php'>Излез</a></p>";
}
?>     
   
               </p>
            </li>

Има ли така някаква разлика ?
 
Също така недей слага "@" отпред, защото ако има някаква грешка със сесиите - тя няма да бъде показана и ти ще си мислиш, че всичко с кода ти е наред, а всъщност не е.

Провери дали преди <?php има място, ако има го махни.
 
Я дай echo $_SESSION['username']; в който и да е код да видим дали има въобще сесия...

И сложи $_SESSION['username'] = $_POST['username'];
$username = $_POST['username'];

Никъде не си задал $_SESSION['username'] гледам, че я взимаш от $row['username'] а това не е правилно. Първо задаваш $_SESSION['username'] = $_POST['username']; и после проверяваш в базата данни дали username='".$_SESSION['username']."'

Т.е. нещо такова
Код:
<?php
session_start();
include "login/config.php";
?>

<?php
if (isset($_POST['submit']))
{
$_SESSION['username'] = $_POST['username'];
$username = $_SESSION['username'];
$password = $_POST['password'];
$sql = "SELECT * FROM users WHERE username = '$username'";
$result = mysql_query($sql) or die (mysql_error());
$broi = mysql_num_rows($result);
$row = mysql_fetch_assoc($result);
if($broi == 0) {
    echo "Няма такъв потребител!";
}
    else {
        if ($password == $row['password']) {
            $_SESSION['username'] = $row['username'];
        }
    }
}
elseif (!isset($_POST['submit']) AND !isset($_SESSION['username']))
{
    echo "<ul>
            <li>
               <h2>Здравей</h2>
               <p>";
echo '
<form action="" method="post">
<center>Потребител:<br /><input type="text" name="username" /><br /><br />
Парола:<br /><input type="password" name="password" /></center><br /><br />
<center><input type="submit" name="submit" value="Вход" /></center>
</form><br /><br />
<center><a href="register.php">[ Регистрация ]</a></center>
';
echo "</li>";
}
$potrebitel = $_SESSION['username'];
if($potrebitel) {
           echo "<ul>
            <li>
               <h2>"."Здравей ". $potrebitel."</h2>
               <p>
               </li>";
       echo "<p><a href='profile.php'>Профил</a></p>";         
         echo "<p><a href='login/logout.php'>Излез</a></p>";
}
?>     
   
               </p>
            </li>
 

Back
Горе