1

ユーザーは CMS にログインしていますが、site_url.com現在、サブドメインの 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ます。m.site_url.comただし、CMS ログインはそれを CMS のページにリダイレクトします。サブドメインがポイントする /mobile ディレクトリ内のページにリダイレクトするには、モバイル バージョンが必要です。したがって、login.php(混同しないでくださいmobile/login.php-メインlogin.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

4

1 に答える 1

1

それに応じて Cookie のドメインを設定する必要があり.ます。ドメイン名に a を追加します。

session_set_cookie_params(0, '/', '.site_url.com');

これにより、すべてのサブ ドメインと第 2 レベル ドメインで Cookie が共有されます。

于 2013-07-26T11:57:56.940 に答える