2015-01-04 51 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將返回ID號的數組,而mysql_fetch_assoc將返回列的文字表述。

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

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

中的數據庫連接仍然得到相同的東西,我已經成功地使用了這個代碼2次,只是在其他網絡服務器。即時通訊思維是否有可能會有一個會話功能,我可能不得不使用我沒有理由發生這種情況 – joao