-1
我有问题在我的网站和cURL请求之间传递会话数据。传递PHP会话信息到cURL
代码:
此代码是上demo.xyz.com,它从autenticates DB用户在www.abc.com并创建在全成登录的情况下,会话变量“SESSION_USER_ID”。
登录后,它会使用jQuery .load()函数向“www.abc.com/dashboard.php”发起cURL请求。
$("#dash").load("get-rem-page.php?p=http://www.abc.com/dashboard.php").html("Loading...");
一开始REM-page.php文件有以下代码:
上www.abc.com dashboard.php的<?php
$url = $_REQUEST['p'];
$curl_handle=curl_init();
curl_setopt($curl_handle,CURLOPT_URL,$url);
curl_setopt($curl_handle,CURLOPT_CONNECTTIMEOUT,2);
curl_setopt($curl_handle,CURLOPT_RETURNTRANSFER,1);
curl_setopt($curl_handle, CURLOPT_COOKIESESSION, true);
curl_setopt($curl_handle, CURLOPT_COOKIE,session_name().'='.session_id());
curl_setopt($curl_handle, CURLOPT_COOKIEFILE, 'cookies.txt'); // set cookie file to given file
curl_setopt($curl_handle, CURLOPT_COOKIEJAR, 'cookies.txt');
$buffer = curl_exec($curl_handle);
curl_close($curl_handle);
if (empty($buffer))
{
print "<p>Unable to load remote page</p>";
}
else
{
print $buffer;
}
?>
代码是根据:在
<?php
session_start();
include "classes/local_info.php";
$objCon = new cD;
$objFun = new cF;
$link=$objCon->connectMYSQL();
$vCon = $objCon->connectDB($link);
if($vCon==false){
echo "DB Error";
exit;
}
echo "i am in dashboard.php & sessionid = ".$_SESSION["SESSION_USER_ID"]."<hr />";
$id = $_SESSION["SESSION_USER_ID"];
?>
<p>Welcome member number <?php echo $_SESSION["SESSION_USER_ID"];?></p>
输出DIV(id:dash)是
我在dashboard.php & sessionid =
欢迎构件nmber
问题:
在dashboard.php会话变量是空的。需要传递此会话值,而不会对dashboard.php进行任何更改。已经尝试了与CURLOPT_COOKIE吨选项..但似乎没有工作。专家开放是必需的。
这接壤货物邪教编码。 'CURLOPT_COOKIEJAR'接受一个文件名,还有“一个文件的名字,以保存所有内部cookie到句柄关闭时,例如在curl_close调用之后。”它对请求没有任何影响,这是如此。 – chx
可能。我没有兴趣尝试改变任何东西后,我终于得到它的工作:) –