2010-11-13 167 views
0

嗨,夥計們,我根據設置的會話變量(它查看數據庫中的值,然後決定是否清空會話或命名它)來執行一系列if語句, 。具有會話總是被命名問題,無論在數據庫中的記錄是否爲「0」或沒有米運行mysql時,查詢工作正常下面的代碼:PHP中的會話變量

在session_start();

$_SESSION['MemberType'] = ''; 

mysql_select_db($database_choices, $choices); 

$query = "Select lifemember from registrants where username = '" . $_SESSION[kt_login_user] . "'"; 
$result = mysql_query($query) or die ("Error in query: $query. ".mysql_error()); 

while($row = mysql_fetch_array($result)) 
{ 
    if ($row['lifemember'] == '1') 
    { 
     $_SESSION['MemberType'] = 'LifeMember'; 
    } 
    else if($row['lifemember'] == '0') 
    { 
     $_SESSION['MemberType'] = ''; 
    } 
} 

回答

1

預檢:如果您正在收到任何'Headers already sent ...',那麼您在頁面上已經有一些輸出已阻止會話的設置

否則嘗試調試步驟,如:

1)做一個echo $row['lifemember'] while循環中,讓你知道什麼一直從數據庫獲取真正的價值。

2)在else塊中,將其更改爲$_SESSION['MemberType'] = 'Hello';然後,看看是否打印出Hello?

+0

酷炫的歡呼聲,將會話設置爲別的東西似乎已經奏效。我想有些東西是停止它被設置爲空。 – Matt 2010-11-13 11:19:57