是否有可能在php网站上设置会话变量,例如B.com,通过从另一个php网站调用CURL请求,例如A.com?
这是一个代码,它将发送请求从A.com发送到网站B.com/extAuth.php
<?php
session_start();
$url = 'http://B.com/extAuth.php';
$params = array(
'login' => 'login',
'pwd' => 'pass'
);
$ch = curl_init();
$curlConfig = array(
CURLOPT_URL => $url,
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POSTFIELDS => $params,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_COOKIESESSION => true,
CURLOPT_COOKIEJAR => 'cookie.txt',
);
curl_setopt_array($ch, $curlConfig);
$result = curl_exec($ch);
curl_close($ch);
?>
extAuth.php上的脚本只是设置了一个SESSION ['login'] = true。 但是当我从CURL发送此请求后打开网站B.com时,SESSION ['login']未定义。
<?php
session_start();
if(isset($_POST['login'])&&($_POST['pwd'])){
//aditionall logic here
$_SESSION['login'] = true;
}
?>
但是当我尝试通过放置在A.com网站上的普通html表单发送此请求时,会设置SESSION变量。这是A.com网站上的表格代码。
<form action="http:B.com/extAuth.php" method="POST">
<input type="text" name="login" id="login" value=""></td>
<input type="password" autocomplete="off" name="pwd" id="pwd" value="">
<input class="btn" id="btn_login" value="Login" type="submit">
</form>
有人知道我做错了吗?