2015-01-04 16 views
1

Я уже использовал этот код 2 раза, но теперь не работает, и я не знаю почему. Ниже приведен код из файла process_login.php. Код работает нормально, но когда я доберусь до admin.php, не могу откликнуть $ _SESSION ['USER'], и то же самое не установлено. Заранее спасибо.Почему я не могу установить переменную сеанса?

<?php 
    session_start(); 
    mysql_connect('localhost','root','root'); 
    mysql_select_db('user_db'); 

    $user=$_POST['user']; 
    $password=$_POST['password']; 

    $sql="SELECT * FROM users WHERE username='".$user."' AND password='".$password."'";  
    $res=mysql_query($sql); 

    if (mysql_num_rows($res)>0) 
    {   
     $row=mysql_fetch_array($res); 
     $_SESSION['USER']=$row['username']; 
     header("location: admin.php");        
    } 
    else 
    { 
     header("location: login.php"); 
    } 

?> 
+2

Сообщение admin.php. – Musa

+1

http://stackoverflow.com/questions/21797118/deprecated-mysql-connect: вам, возможно, придется немного изменить свой код, вы больше не должны использовать эти функции mysql_ * – sodawillow

+0

Вы начали сеанс в другом файле слишком? – Rizier123

ответ

0

mysql_fetch_array Использование возвращает массив с идентификационными номерами, а mysql_fetch_assoc будет возвращать текстовое представление столбцов.

//mysql_fetch_array() 
$myarray = array(
    [0] => "BILLYBOB" 
); 

//mysql_fetch_assoc() 
$myarray = array(
    ["USER"] => "BILLYBOB" 
); 
+0

все равно получите то же самое, и я использовал этот код еще 2 раза успешно, как раз в других веб-серверах. Я думаю, что есть, возможно, сеанс funtion, который, возможно, придется использовать, я не знаю, почему это произойдет – joao

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