2016-03-24 10 views
0

Webサイトのログインページがルートディレクトリにあります。ログインに成功すると、このコードが実行されます。
$class = $x['class']; $_SESSION['email'] = $email; header("location:/$class");
$classは、6〜12の値にすることができます。それぞれには別々のディレクトリがあります。今すぐサブディレクトリに行くと、$_SESSION['email']が失われます。
私はまた私のウェブサイトの色を変えるために使用されるテーマと呼ばれるセッションを持ち、どのページからでも変更することができます。今私は/6/index.phpの$_SESSION['theme']を変更して/7/index.phpに行ったとしたら、値は失われません。しかし、私が/index.phpに行くと$_SESSION['theme']という値は失われます。
しかしそれ以降 私が/10/index.phpに行くと、値が再び取り出されます。

要約すると、セッション値はサブディレクトリ間で転送されます。しかし、ルートとサブディレクトリの間では転送されません。

どうすればよいですか?私はすべてのページの冒頭にsession_start();とタイプしたと確信しています。アドバンスセッション値がルートディレクトリから転送されない

答えて

0


のthnx私は最終的にルートと呼ばれるフォルダにルートディレクトリからファイルをコピーすることによって、問題を解決し、/root/index.phpする/index.phpから301リダイレクトをしました。ただし、推奨されるソリューションではありません。

関連する問題