即使两个文件都有session_start()
,我也无法访问我的会话变量。
File1.php
<?php
session_start();
...
if($responseCode == 1) {
$_SESSION['card_id'] = $_POST['card_id'];
$_SESSION['password'] = $_POST['password'];
print '<script type="text/javascript">';
print 'window.location = "http://domain.com/File2.php";';
print '</script>';
}
?>
File2.php
<?php
session_start();
$account = getAccount();
echo "document.write('$account')";
function getAccount() {
$card_id = $_SESSION['card_id'];
$string = "card = " . $card_id ;
return $string;
}
?>
File1.php执行curl请求,如果成功,则重定向到File2.php。但是,我只看到card :
而没有输入的card_id。
答案 0 :(得分:1)
它不起作用,因为www被视为子域,因此会话不会持久存在。您可以通过两种方式解决此问题 -
我认为是更好的方法,使用htaccess将所有非www网址重定向到www网址,这对SEO更好
查看PHP手册,了解如何set session across multiple subdomains.
This post explains如果您感到好奇,www如何被视为子域名。