2011-12-23 10 views
1

は、私は2つの異なるディレクトリに配置、2つのファイルからセッションデータにアクセスしようとしていますsession_name()は両方のファイルで同じです、私はセッション配列にアクセスすることができません、それは空の配列を返します。アクセスできませんセッションデータ私のプロジェクトで

マイコード: page.extension.php:

session_start(); 
setcookie("psc_session", session_id(), strtotime("+20 minutes"), "/"); 
setcookie("psc_session_name", base64_encode(session_name()), strtotime("+20 minutes"), "/"); 
$_SESSION['uid'] = system::current_user_id(); 

ajax_handler.php:

session_id($_COOKIE['psc_session']); 
session_name(base64_decode($_COOKIE['psc_session_name'])); 
session_start(); 
print_r($_SESSION); // => array(0) { } 

私は本当に任意の助けをいただければ幸いです! よろしくお願いいたします。

アップデート: 私はpage.extension.phpでこれを使用してセッションCookieのparamsを設定しようとしました:

$url = str_replace("http://", '', current_url(false)); // returns the current domain 
session_set_cookie_params(10800, "/", $url, 0, 1); 

私は今、私は(ajax_handler.phpで)受け取るsession_get_cookie_paramsにアクセスする場合:

print_r(session_get_cookie_params()); // => 
Array 
(
    [lifetime] => 0 
    [path] =>/
    [domain] => 
    [secure] => 
    [httponly] => 
) 

なぜこのようなことが起こりますか?

+0

'system :: current_user_id();'とは何ですか? – Neal

+0

現在ログインしているユーザーの数値IDを返します(クッキー) – n0pt3x

+0

ここにあなたが持っている興味深い方法の理由は何ですか? – Neal

答えて

0

問題を再現することはできません。セッション変数とクッキーを指定したコードを再作成することはできません。ajax_handler.phpからアクセスできます。私はバックトラックし、両方のファイルが同じドメインから要求されていることを確認することをお勧めします。