2010-03-10 30 views
0

使用史努比我提出了一個請求,但似乎是一個不同的SESSION用於POST?當我回應請求的結果時,SESSION被設置,但是在點擊任何鏈接後,頁面返回到非SESSION-set狀態。PHP - Snoopy POST請求+維護SESSION?

目前我使用這個代碼,以使該請求

$dashboard = new Snoopy; 

$dashboard->referer = "URL"; 
$dashboard->httpmethod = "POST"; 
$dashboard->submit("URL", $_POST); 

echo $dashboard->results; 

我沒有使用捲曲因爲我有服務器無法控制的能力。

我有一種感覺,因爲史努比爲HTTP POST創建了一個新的SESSION_ID?我已經看過幾點,但沒有具體說明如何在這些請求之間維護SESSION?

回答

0

如果不通過SESSIONID你與史努比調用頁面(這將是這樣做的HTTP請求的任何其他方式真),然後,生成頁面時,PHP將:

  • 嘗試,因爲沒有會話ID已收到啓動一個會話
  • ,一個新的會話將被啓動
  • 這將是在第一個腳本中使用的不同。


如果你想同時腳本共享相同的會話,你將至少有會話ID傳遞給第二個腳本 - 這是使用一個Cookie (看你有餅乾做一般您的網站,在您的瀏覽器中)

基本上:通過Snoopy調用的腳本必須接收會話ID,這與您的瀏覽器調用的腳本接收該腳本的方式相同。

+0

我該如何去做這件事?你能提供一個例子嗎?這個PHP的東西迴避我:) – Mig 2010-03-10 11:43:48

+0

我不知道,與史努比 - 但看看它的代碼,似乎有一個'$ cookie'屬性;你可以用它來設置一個叫做「PHPSESSID」的cookie(或者你的系統中需要的名字 - 參見http://fr.php.net/manual/en/session.configuration.php#ini.session.name )*,與您當前的$ _COOKIE ['PHPSESSID']'具有相同的值 – 2010-03-10 12:00:09

0

您需要在提交url文件時調用session_start函數。

所以,會話可以保持你想要的。