みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

セッションが変数が取得できません

こんにちは。初心者で大変申し訳ないのですが、2日間悩みましたがどうしても解決できないため質問させて頂きました。どうかご教授下さい。

PHPのセッション機能の利用をしようと以下のような環境でテストスクリプトを実行したのですが、うまくいきません。


PHPバージョン4.3.10
register_globals On
session.auto_start Off
session.bug_compat_42 On
session.bug_compat_warn On
session.cache_expire 180
session.cache_limiter nocache
session.cookie_domain no value
session.cookie_lifetime 0
session.cookie_path /
session.cookie_secure Off
session.entropy_file no value no
session.entropy_length 0
session.gc_divisor 100
session.gc_maxlifetime 1440
session.gc_probability 1
session.name PHPSESSID
session.referer_check no value
session.save_handler files
session.save_path /tmp
session.serialize_handler php
session.use_cookies Off
session.use_only_cookies Off
session.use_trans_sid On


SESSION登録側スクリプト

<?php
session_start();
$_SESSION['tarou'] = 50;
?>
<a href="test.php">test</a>


結果表示側スクリプト

<?php
session_start();
echo($_SESSION['tarou']);
?>

session.use_trans_sid Onで透過的にURIにセッションIDを埋め込むタイプで、
セッションファイル自体は作られているのですが
セッション変数は登録されておらず、空のセッションファイルとなってしまっています。
色々と調べてみたのですがどうしても解決できません。
大変お手数ですがどうか宜しくお願い致します。

投稿日時 - 2005-01-11 13:51:15

QNo.1162618

困ってます

質問者が選んだベストアンサー

私の環境ではきちんと50と表示されます。
ちなみに、
php 4.3.8

以下phpinfo()のデータです。
レイアウトがずれているのは容赦下さい。

session
Session Support enabled
Registered save handlers files user

DirectiveLocal ValueMaster Value
session.auto_startOffOff
session.bug_compat_42OnOn
session.bug_compat_warnOnOn
session.cache_expire180180
session.cache_limiternocachenocache
session.cookie_domainno valueno value
session.cookie_lifetime00
session.cookie_path//
session.cookie_secureOffOff
session.entropy_fileno valueno value
session.entropy_length00
session.gc_divisor100100
session.gc_maxlifetime1800018000
session.gc_probability11
session.namePHPSESSIDPHPSESSID
session.referer_checkno valueno value
session.save_handlerfilesfiles
session.save_path/tmp/tmp
session.serialize_handlerphpphp
session.use_cookiesOnOn
session.use_only_cookiesOffOff
session.use_trans_sidOnOn

投稿日時 - 2005-01-11 19:23:39

お礼

ご回答ありがとうございます。
taketan_mydns_jp様の環境で動作するという情報を頂き、
もしかしてサーバー側のなんらかの原因かと思い、
同環境の別サーバーを用意し試してみたら動作いたしました。
貴重な情報有難うございました。助かりました。
また宜しくお願い致します。

投稿日時 - 2005-01-11 20:39:25

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

クッキーを使うようにするか

あるいは、GET,POSTで呼び出すようにするかしないといけないのでは?

投稿日時 - 2005-01-11 14:36:25

お礼

ご回答ありがとうございます。
php.iniのsession.use_trans_sidがOnなので
セッション変数は自動で透過的にURIに埋め込まれるので
GETやPOSTで明示的に渡す必要はないのですが、
原因はどうやらサーバー自体にあったようです。
別サーバーに同じ環境を作って試したら動作いたしました。
今回はありがとうございました。また宜しくお願い致します。

投稿日時 - 2005-01-11 20:37:18

あなたにオススメの質問