dポイントプレゼントキャンペーン実施中!

さきほどと同じないようなのですが、さきほどの記事を削除する事も補足する事もできなかった
ので再度投稿しました…。


header と session の順番
質問者:unlax header("Content-Type: text/html; charset=euc-jp");
$_SESSION['HOGE'] = true;
header("Location:./login.php");

といったようにセッションより前にヘッダーを書くとセッションに保存されない
場合などあるのでしょうか?

または、Content-Type とLocationの両方というのがまずいのでしょうか?

PHPは5.2.1
Apache 2.0.59
です。

テスト環境のサーバーでは正常動いているのですが、本番サーバーでは$_SESSION['HOGE']に
値がセットされていないようなのですが…。本番ではテストする事ができず推測なのですが…。

A 回答 (2件)

一応マニュアルにはこうあります。



注意 unset($_SESSION)によって 全ての$_SESSIONを初期化してはいけません。 $_SESSIONスーパーグローバル変数を用いた セッション変数の登録ができなくなってしまうからです。

参考URL:http://jp.php.net/manual/ja/ref.session.php
    • good
    • 0
この回答へのお礼

ありがとうございます。早速試してみます!!

お礼日時:2007/08/02 20:48

セッションより前にヘッダーを書いて、セッションが扱えなくなるということは無いと思います。



ANo.1の回答者さんがおっしゃるようにunsetにより$_SESSIONに値が登録できなくなっているか、Locationで次のページに移る時にセッションが正常に渡っていないのではないでしょうか。

$_SESSIONを初期化するには
session_unset()
という関数が用意されています。

参考URL:http://jp2.php.net/manual/ja/function.session-un …

この回答への補足

バッチリいけました♪ありがとうございます。

補足日時:2007/08/06 08:56
    • good
    • 0
この回答へのお礼

ありがとうございます。早速試してみます!!

お礼日時:2007/08/02 20:48

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!