Проблем със логването $_SESSION - не иска да се логва.

girlft

Registered
Добър вечер или ден.
Имам проблем с моята логин система за сайта ми.

Работи със $_SESSION :) пиша парола и име но само ме прехвърля ползвам.

Код:
ob_start(); 
и
@session_start();

Но не става под chrome и opera и мозила не работи.

Кода над index.php
Код:
ob_start();
@session_start();
include "config.php";
mysql_query("SET NAMES utf8");
   $data = date("d.M-H:i");
   $data2 = date("d.m.y H:i");
   $data3 = date("d.m.y");
   $us = mysql_query("UPDATE `use` SET user_st='".time()."' WHERE username='$_SESSION[username]'");
   $us = mysql_query("UPDATE `use` SET lactive='$data', lastdata='$data2', lactive='$data3' WHERE username='$_SESSION[username]'");
Login.php
Код:
<?



$username = $_POST['username'];
$password = $_POST['password'];
$password = md5($password);
$ip = $_SERVER['REMOTE_ADDR'];
if($_SESSION[username]){
echo"<meta http-equiv='Refresh' content='0; url=index.php'>";}else{


$sql="SELECT * FROM use WHERE username='$username' and password='$password'"; 
$result=mysql_query($sql) or die (mysql_error()); 

$count=mysql_num_rows($result); 

if($count==1)
{ 

$_SESSION['username'] = $username; 
$_SESSION['password'] = $password; 

$us = mysql_query("UPDATE `use` SET user_st='".time()."' WHERE username='$username'");
$sql = mysql_query("DELETE FROM active_quests WHERE ip = '$ip'");
echo '<META HTTP-EQUIV="Refresh" CONTENT="2; URL='.$_SERVER[HTTP_REFERER].'">';


} 
else 
{ 
echo '<META HTTP-EQUIV="Refresh" CONTENT="2; URL=index.php">';

echo 'zdravei'; 

echo '<a href="'.$_SERVER[HTTP_REFERER].'"></a></center>';
}
echo '';
}

?>

Логин формата
Код:
								<center><?if($_SESSION[username]){echo'Привет '.$_SESSION[username].'';}else{echo'<div class="warning">Само потребители моля!<div>';}?></center>
                        <div class="text_menu" style="text-align: left;">
						<? if
						($_SESSION[username]){
						$use= mysql_fetch_assoc(mysql_query("SELECT * FROM use WHERE username='$_SESSION[username]'"));
?>
						
						<table width="100%" border="0" cellspacing="0">
							<tr>
								<td style="vertical-align: bottom; margin-left:5px;float: left;">
								<a href="index.php">» Начало </a></br>
</td>
							</tr>
							</table>
						<?}else{?>
						<center>
							<form action="login.php" method="POST">
								Потребител:<br />
								<input type="text" name="username" class="input"  size="23"/><br />
								Парола:<br />
								<input type="password" name="password" class="input" size="23"/><br />
								<div class="login">
								<input type="submit" value="Влез" class="entrance" style="margin-top: 5px;"/>
								<input type="hidden" name="form_login" value="1" />
	                            </div> 
							</form>
						</center>
					 
                        </div>
						<br>
 
	<?}?>

Ако може да напишете къде е грешката :) да се поправя ще е супер.
Давам + 1
 
Код:
session_start()
на абсолютно всяка страница, която ще използва сесиите.
Махни @ пред session_start() ... няма смисъл от него, а и ако има грешка някаква то ще я скрие и няма да я видиш.

В login формата там където е $_SESSION[username] добави ' ' на username.
Код:
$_SESSION['username']
Това е на пръв поглед, което да направиш и да пробваш и да кажеш после какво е станало :) :?:

затваряне на сесията на logout
Код:
<?php
session_start();
$_SESSION = array(); 
session_unset();
session_destroy();

header("Location:page.php");
exit(); 
?>

edit:
Също в login.php
Код:
if($_SESSION[username])
Му сложи ' '
Код:
if($_SESSION['username'])
 

Back
Горе