私は広告Webサイトを持っています。index.htmlにはフォームがあります。 このフォームのターゲットはiframeに設定され、index.htmlにも設定されています。フォームを提出すると隠れた入力を更新しないブラウザがあります。
<body onload='submit_form();'>
私はIFRAMEに表示され、私はページングを作成するためのMySQLの制限を使用して言ったような結果は次のとおりです。私は、ページがロードされたときにフォームを送信するためにbody onload
を使用
<form id="main" name="main" action="search.php" target="iframe" method="get">
。 は、私が表示され、ユーザーに「次」および「前」:(これはすべてのiframe内に表示されるので、私は以下のように親ページ上で関数を呼び出す)見ての通り
<a onclick='window.parent.page_upd(2)'>Page 2</a>
function page_upd(p){
document.getElementById('page').value=p;
document.forms['main'].submit();
}
<input type="hidden" id="page" value="1">
私は隠されたセットページ番号にindex.htmlを内部入力私は、私はフォームを送信、およびアクション(search.php)で、私はそれに応じてページとディスプレイを取得、表示するユーザーを希望:
//search.php
$page = $_GET['page'];
ページングの動作すべてのブラウザでは、別のページに移動します。 実際に検索結果をクリックして完全に別のリンク(show_ad.php)に移動して打撃を受けた場合、ユーザーは検索結果の最初のページに戻ります。
つまり、「ページ」が再び1に設定されています。 しかし、すべてのブラウザでFFとIE6 "がを覚えている"というのは、 "ページ"の値であり、2番目のページの場合はまだ2であるため、2番目のページを示すフォームが送信されます。
ただし、ChromeとOperaでは、ページは '1'に設定されています。
「ページ」入力値がブラウザに戻ったときに再び1に設定されている理由は誰にも分かりますか?
ありがとうございます。
は、その後、私は変数に沿って通過しなければならない、それはあまりにも多くの仕事を意味します。他の解決策? –
より簡単なのは、セッション変数にページ番号を格納することです。$ _SESSION ['page_nbr'])、ページが呼び出されると、そのセッションで最後に訪れたページに自動的に切り替わります – Thariama