javascript(クライアント)変数を転送して、セッションとしてphp(サーバーサイド)からアクセスできるようにする方法を理解するのにいくつかの問題がありました:PHPでiframeの「src」値を取得しますか?
今、私はfirebugを使用して何が起こっているのかをデバッグしようとしている状況にいますが、それは意味がありません:
iframeを更新するこの関数があり、そのiframeが表示しているページを渡したい:
function frameclick(pageurl)
{
$.post("session_write.php?",
{
frameurl : pageurl
}
$("#iFrame1").attr('src', pageurl);
console.log ('<?php echo "logout:".$langpath.$_SESSION['frameurl'];?>');
}
pageurlは元です。"/lang/en/new.htm"-そしてfirebugでそれを調べると、それが正しく通過したことを示していることもわかります(/の変換もあります)。
投稿先のスクリプトサーバーサイドは次のようになります。
#session_write.php
<?php
session_start();
print_r($_GET['frameurl']);
if (isset($_GET['frameurl']))
{
$_SESSION['frameurl'] = $_GET['frameurl'];
print_r($_SESSION);
}
?>
サーバー上のそのphpスクリプトへの投稿は、javascroptを介して失敗します-$ _ SESSION ['frameurl']は''になりますが、私が例を挙げた場合。このように手動で行います:(http):
//localhost/phpmenu/session_write.php?frameurl=lang%2Fen%2Fnew.htm
次に、$ _SESSION["frameurl"]変数に正しく設定されます。
javascriptの投稿を行うことと、ブラウザで手動で行うことの違いと、なぜこの問題が発生するのかを理解できません。
アイデアを持っている人はいますか?ありがとう