Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从不同域(但位于同一域)调用的不同页面之间的PHP$\会话_Php_Session_Dns - Fatal编程技术网

从不同域(但位于同一域)调用的不同页面之间的PHP$\会话

从不同域(但位于同一域)调用的不同页面之间的PHP$\会话,php,session,dns,Php,Session,Dns,我有这个问题:我有两个站点,例如SITEA和SiteB 用户从SITEA.COM进入此页面(SITEA.COM/gopage) 其代码如下: session_start(); $_SESSION['example'] = "example"; header("Location: SITEB.COM"); 在SITEB.com,我有 <script type="text/javascript" src="SITEA.COM/include/script.js.php">

我有这个问题:我有两个站点,例如SITEA和SiteB

用户从SITEA.COM进入此页面(SITEA.COM/gopage) 其代码如下:

session_start();
$_SESSION['example'] = "example";       
header("Location: SITEB.COM");
在SITEB.com,我有

<script type="text/javascript" src="SITEA.COM/include/script.js.php"></script>

在script.js.php(由SITEB.COM调用,但托管在SITEA.COM上)中,我


如果他们从不同的地方召回
$\u会话不起作用

if they are recalled from different domains the $_SESSION doesnt work?
的确如此。这是故意的。会话绑定到一个web域。否则,营销人员和类似人员将能够在您访问互联网时跟踪您的会话。你将不得不放弃你现在所走的路线:它行不通

另一种常用的方法是在将用户重定向到其他网站时构建查询字符串。在代码中,您可以将其更改为:

session_start();
$_SESSION['example'] = "example";       
header("Location: SITEB.COM/?example=" . $_SESSION['example']);
然后,在另一个网站上,您可以选中$_GET['example'],然后像这样重新创建会话:

session_start();
$_SESSION['example'] = $_GET['example']

这不是一个完全透明的解决方案,但它非常接近。

一个会话仅适用于一个域。你想干什么?应该有人能够提供替代方案。siteA是移动版本的站点,siteB是桌面版本的站点。在siteB中,我想包括我的script.js.php,它会自动将(基于useragent)重定向到siteA如果您在siteA中使用移动设备,则会有一个链接“转到桌面版本”,该链接应该转到siteB.com并禁用(使用会话)我认为,由于与会话一起工作的两个php文件都在同一个域中,因此我可以遵循该路径。由于这是不可能的,我必须找出一些其他的东西,但我不能使用您的提示,因为重定向到SITEB.COM/index.html,而我的脚本作为javascript(.js.php)包含在其中,因此它无法读取查询字符串…包含的php文件可能在同一个域中,但浏览器最初请求了另一个域。来自一个域的会话将永远不会提供给另一个域。
session_start();
$_SESSION['example'] = $_GET['example']