2010-10-26 55 views
0

我遇到了會話問題,如果我把下面的代碼放在頁面上,每當我重新加載頁面時,計數器就會遞增1。

session_start(); 
if(isset($_SESSION['views'])) 
    $_SESSION['views'] = $_SESSION['views']+ 1; 
else 
    $_SESSION['views'] = 1; 

,如果我把上面的代碼中的,如果當你點擊一個按鈕,顯示在會話的會話始終是空號在那裏它只能運行的語句。

難道會有一個php.ini的問題?

在此先感謝

+0

是否使用'session_st啓動會議藝術()'? – 2010-10-26 20:11:20

+1

請發表您的其他代碼。從這個信息很難說。就我所見,php.ini似乎不太可能涉及。下面的 – JAL 2010-10-26 20:13:43

+0

是一個非常簡單的版本 session_start(); if($ _ POST [「btnSubmit」]){ \t \t $ _SESSION [「views」] ++; \t } echo「VIEWS:」。$ _ SESSION [「views」]; <形式方法= 「POST」> \t adamias 2010-10-26 20:51:50

回答

0

您的會話無法啓動。檢查tmp目錄服務器是否可以寫(很多會話問題與全磁盤無關!)

+0

只是檢查tmp目錄,其中會話被保存並且該文件夾具有正確的權限,並且只有7%已滿 – adamias 2010-10-26 20:32:20

0

還要檢查php.ini文件,以確保session.auto_start = 1,對於代碼...

//debug your session 

echo"<!--".session_id()."-->";

//update the views 

array_key_exists('views',$_SESSION)?$_SESSION['views']++:$_SESSION['views']=1;

+0

一旦解決了問題,您將希望刪除調試,但這樣您可以檢查是否有會話,但它不是SAME會話... – FatherStorm 2010-10-26 20:27:16

+0

嗨,如果我在頁面加載顯示會話ID,然後顯示什麼會話ID在回發回他們都是一樣的。我還通過會話變量循環查看我擁有哪些密鑰,並且在後期創建(嘗試)的任何會話仍然未保存。 – adamias 2010-10-26 20:46:29

+0

我也檢查php ini設置和session.auto_start設置爲0,所以我改變了這一點,仍然遇到同樣的問題 – adamias 2010-10-26 20:46:57

0
session_start(); 

if(isset($_SESSION['views'])) 
    $_SESSION['views']++; 
else 
    $_SESSION['views'] = 1;