2010-03-10 176 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函数。

所以,会话可以保持你想要的。