私は小規模なイベントに登録する人々のためにウェブサイトを設定しました。PHPセッションがフレームリダイレクトを経由して転送されない
index.phpでsubmitを押すと、データを自分のDBに挿入する機能が起動し、それが機能するかどうかによって結果にセッション変数が設定されます。機能の
一部:このよう
$_SESSION['message'] = "That worked, thank you!";
header("location:thankyou.php")
exit();
thankyou.phpに私はこのようにそれをエコーします:
<?php echo "<div id='content'><h1>".$_SESSION['message']."</h1></div>"; ?>
すべてがローカルで動作します。
すべてが私のウェブスペースでホストされています。
これは学生協議会のイベントであるため、フレームリダイレクト(ブラウザのアドレスバーにドメインを保持する)をドメインに適用しました。この時点で、エントリを提出するとセッションが失われます。 thankyou.phpは空のままです。
var_dump()で$ _SESSIONをチェックしようとしましたが、完全に空です。
フレームのリダイレクトを維持しながら$ _SESSION配列を転送する方法に関するヒントは本当に感謝しています!
EDIT:session_start()は既にすべてのファイルにあります。
thankyou.phpファイルに –
を追加していただきありがとうございます。ご提案いただきありがとうございますが、session_start()は既にすべてのファイルにあります。そして、私はそれがローカルで、私のウェブスペース上で動作すると言いましたが、別のドメインからリダイレクトされたときは動作しません。 – Franz
これはすべてのブラウザで失敗しますか? Safariは、iframeにクッキーを設定できないという奇妙な動作があります。また、要求をチェックして、Cookieの問題であるかどうかを確認する要求ごとに同じセッションIDが送信されているかどうかを確認することもできます。 – rypskar