人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

PHPのセッションについて質問です。
A.phpからPOSTで受け取ったデータをB.phpでセッション変数に格納しているのですが、
B.phpで、
$_POST[’name’]に”123”と入っていて、
$name=”はてな”;
$_SESSION[’name’]=$_POST[’name’];
echo $name;
とすると”123”と出力されてしまうのですが、何故でしょうか。セッション変数には”123”を入れて、出力は”はてな”としたいのです。

●質問者: wintarsnow
●カテゴリ:ウェブ制作
✍キーワード:echo name PHP はてな セッション
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● esseesse
●15ポイント

http://www.php.net/extract

PHP: extract - Manual

何もしていなければそんなことは無いはずなのですが、もしかして、

$name=”はてな”;

echo $name;

の間でextractしてませんか?

その付近の実際のソースがわかると助かるのですが。。。

◎質問者からの返答

回答ありがとうございます。

いえ、特に何もやっていないと思うのですが…。

でも、

$name=”はてな”;

$_SESSION[’name’]=$_POST[’name’];

はHTML表示の前にあるブロックでやっていて、

echo $name;

はHTML中の表示したい部分にとしているのです。これは原因になりますでしょうか。


2 ● golbeza
●15ポイント

http://jp2.php.net/import_request_variables

PHP: import_request_variables - Manual

見当違いでしたらごめんなさい。

import_request_variables()

をしていないでしょうか。

◎質問者からの返答

回答ありがとうございます。

いえ、していません。

B.phpで使用している関数は、

header

session_cache_limiter

session_start

function

trim

str_replace

mb_convert_kana

stripslashes

htmlspecialchars

ereg

exit

echo

mysql_connect

die

mysql_select_db

mysql_query

mysql_fetch_assoc

以上なのですが、この中に何か問題になりそうなものはありますでしょうか。

--追加--

$_SESSION[’name’]=$_POST[’name’];

の位置が原因かと考えて変えてみたのですが、

$name=”はてな”;

より前で実行すれば大丈夫でした。でもこれでは不便ですしなんとかしたいです。


3 ● html1983
●40ポイント

http://www.net-newbie.com/postgres/php.ini-recommended.txt

php.iniの「register_globals」と「variables_order 」の設定はどうなっていますか?

register_globalsがOnですと、こういうおかしなことが起こるかません。

◎質問者からの返答

回答ありがとうございます。

register_globalsがOnでした…!

早速.htaccessでOffに上書きしてやったら、きちんと動作しました。

ありがとうございました!!

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ