スレッド表示 | フラット表示〕 全トピック 920 件中 398 番目 次≫ ≪前

セッション変数が取得できない

created: 2005-08-01 14:15 | modified: 2005-08-02 11:00 | reply: 3

[2419] セッション変数が取得できない

user: sasaki | created: 2005-08-01 14:15
佐々木と申します。
よろしくお願いします。

現在
PHP 5
Apache 2
で開発しているのですが、
Location()で画面遷移を行ったときに、

header("Location:http://localhost/menu.php");
のように「localhost」指定ですとセッション変数の値が取得できるのですが、
header("Location:http://マシン名/menu.php");
のように「マシン名」で指定すると、セッション変数の値が取得出来ません。


取得の方法としては

--------------test1.php-------------

//セッションに格納
session_start();
$_SESSION['TEST'] = serialize("testです");
header("Location:http://マシン名/test2.php");

--------------test2.php-------------

//セッションから取得
session_start();
$value = unserialize($_SESSION['TEST']);

print($value);
//↑ここが「マシン名」指定だと表示されない!


以上のようになっています。
自分で調べてみたのですが、localhostとマシン名での違いについての情報が見つかりませんでしたので、書き込ませていただきました。

どなたかご教授いただけたら幸いです。
よろしくお願い致します。
reply: 2421 返信 編集 削除

[2421] 異なるホスト間のセッション共有

user: ゆうじ | created: 2005-08-01 19:39
こんばんわ。

http://localhost/ と http://マシン名/ とは
同じコンピュータを指しているのですかね。

PHPのセッションはクッキーを介したものなので
ホスト名が変わればクライアント(ブラウザ)は
異なるサーバとして扱うため同じコンピュータでも
セッションを共有することができません。

http://localhost/ と http://マシン名/が同じコンピュータなら
セッションIDをURLパラメータで引渡しすれば可能でしょう。

test1.php
session_start();
$_SESSION['TEST'] = serialize("testです");
$url = 'http://マシン名/test2.php?'. session_name(). '='. session_id();
header('Location: '. $url);

test2.php
$sessname = session_name();
session_id($_GET[$sessname]);
session_start();
$value = unserialize($_SESSION['TEST']);
print($value);


http://localhost/ と http://マシン名/ が違うコンピュータだと、
PHPデフォルトのセッションハンドラでは無理なので
URLによるセッションID引継ぎに加え、
DBや共有できるディスク等を使ったセッションハンドラに
自前で書き換える必要があります。
Parent: 2419  reply: 2423 2426 返信 編集 削除

[2423] ありがとうございます。

user: sasaki | created: 2005-08-01 21:51
ゆうじ様。

有難うございます。
明日の午前中にも実行し、ご報告します。
Parent: 2421  返信 編集 削除

[2426] 解決しました。

user: sasaki | created: 2005-08-02 11:00
ゆうじ様。

解決致しました。
ちなみに、リンク(<A>タグ)でも同じ事象が発生したので、そちらも教えて頂いた方法に致しました。

有難うございました!
Parent: 2421  返信 編集 削除
スレッド表示 | フラット表示〕 全トピック 920 件中 398 番目 次≫ ≪前
ページの一番上へ
Googleグックマークに登録 Yahooグックマークに登録 livedoorクリップに登録 @niftyクリップに登録 はてなブックマークに登録 deliciousに登録 Buzzurlに登録 FC2ブックマークに登録
最近更新された掲示板トピックス
管理人Blog
Yahoo Search

最近更新したNote
PHPマニュアル
今日のブックマーク
PHPマニュアル関数検索
関数名を入力し検索ボタンをクリック↑