我的用户在site_url.com
CMS 上登录,但是我现在正在开发该网站的移动版本,位于子域上的 CMS 之外,m.site_url.com
并希望继续进行会话。
我已经包含了一个包含所有 CMS 功能的文件,如下所示:
<?php include_once'/home/flyeurov/public_html/core/codon.config.php';?>
我可以在移动网站上正常登录:
<input type="hidden" name="mobileVersion" value="True">
<input type="hidden" name="redir" value="" />
<input type="hidden" name="action" value="login" />
<input class="login-btn" type="submit" name="submit" value="Log In" />
以上由login.php
. 但是,CMS 登录会将其重定向到 CMS 的页面,我需要移动版本重定向到m.site_url.com
子域指向的 /mobile 目录中的页面。因此,in login.php
(不要与mobile/login.php
- mainlogin.php
用于 CMS 混淆)。我这样做了,它重定向到mobile/crew_center.php
- 它应该在移动版本上重定向到的页面。
if (isset($_POST['mobileVersion'])) {
header('Location: http://m.site_url.com/crew_center.php');
} else {
$this->post->redir = str_replace('index.php/', '', $this->post->redir);
header('Location: '.url('/'.$this->post->redir));
}
也许上面的代码与我的问题有关。
我的问题是来自主 CMS 的会话没有转移到移动站点。在mobile/index.php
我有这个声明,这是行不通的。登录后,用户应该crew_center.php
会看到显示登录表单毫无意义。目前,当用户在 CMS 上登录时,登录页面仍然出现在移动版上。
但是,如果我在浏览器中删除子域并键入site_url/mobile
它将打开正确的页面crew_center.php
。
<?php include_once'/home/flyeurov/public_html/core/codon.config.php';
session_set_cookie_params(0, '/', 'site_url.com');
session_start();
if(Auth::LoggedIn())
{
header("Location: crew_center.php");
}
else
{
header("Location: login.php");
}
?>
我该如何解决这个问题,以及如何使用 PHP 将会话数据从主域共享到子域?
codon.config.php - http://pastebin.com/BWcbddGG