2012-11-20 69 views
1

由於我們的Web服務器已重新啓動,PHP會話不再有效。有幾個人給了我很有幫助的想法,但都沒有成功。我做了一個非常簡單的例子,我很確定應該可以工作,但它不起作用。如果有人能解釋我爲什麼會非常感激。到目前爲止,我花了一整天的時間。PHP會話無法正常工作 - 用簡單示例再次嘗試

我的理解是$ _SESSION應該是「超級全球化」,這意味着它可以在任何地方使用。爲了清楚起見,我做了兩個簡化的重寫頁面,其中代碼STILL不起作用,即打印「Hello World」。

如果有人能告訴我這有什麼問題,我將不勝感激!

-----------網頁ONE.PHP -----------------

<?PHP session_start(); ?> 
<html> 
<head> 
<title>Page One</title> 
</head><body> 
<?PHP 
    $_SESSION['testvalue'] = "Hello World"; 
?> 
<p><a href="pagetwo.php">Click here</a> to see page two</p> 
</body></html> 

------ -----網頁TWO.PHP -----------------

<?PHP session_start(); ?> 
<html> 
<head> 
<title>Page Two</title> 
</head><body> 
<?PHP echo $_SESSION['testvalue']; ?> 
<br> 
</body></html> 

我跑的網頁之一,點擊鏈接進入第二頁,和而不是一個頁面,顯示的 「Hello World」 我得到

注意:未定義指數:測試值在C:\的Inetpub \ wwwroot的\ two.php

我檢查C:\ PROGRAMDATA \ PHP \會議,並存在有一個名爲

sess_905m06314ibdubru8ko0aqj4d1

包含以下

測試值| S:11:「世界你好「;

此文件被創建,當我跑one.php,表明該應用程序有寫權限的會話信息

很抱歉,如果我似乎密集,但我只是不明白這是爲什麼不工作,並花了一天的更好的時間試圖找出答案。

謝謝。

+0

精確度:是在同一個網絡服務器上的兩個頁面?你使用不同的域名訪問它們嗎?Apache中的cookie設置是否正確?會話使用cookie傳輸給客戶端,並且必須正確配置它們上的域設置。 –

回答

0

這聽起來像會話不被傳播到第2頁。你有餅乾禁用? http://ie1.php.net/manual/en/session.idpassing.php顯示瞭如何在URL中傳遞SID。試試看看是否可以訪問會話。檢查瀏覽器中的cookie,並在必要時使用phpinfo()查看會話ID。如果它在第2頁上不同,那就是你的問題。