これは非常に単純な質問なので、基本的なことが抜けているのではないかと心配しています。
私の目標: 同じページをリロードする「続行」ボタンを作成しますが、GET に表示される ?Page= パラメータが増加します。
私の現在のアプローチ: ロードする必要がある新しい URL を定義します (このビットは機能します)
$_SESSION['NextPage'] = $_SESSION['Page']+1;
$_SESSION['NewURL'] = $_SESSION['CurrentFile'] . '?Page=' . $_SESSION['NextPage'];
// N.B: $_SESSION['CurrentFile'] just specifies the URL of the current page.
// Note also that there should ALWAYS be a ?Page= parameter in the URL, even if it evaluates to NaN or something weird.
その後、このコードを実行して送信ボタンを作成する関数が呼び出されます。ボタンは期待どおりにありますが、期待どおりに機能しません:コードと詳細は以下のとおりです。
echo "<tr><td><form action='" . $_SESSION['NewURL'] . "' method='GET'> <input type='submit' value='Continue'></form> </td></tr>";
?Page=
問題: フォームが送信されると、Chrome または Safari のいずれにおいても URL にパラメーターが追加されません。これは、このフォーム内で Page パラメーターが指定されていないためですか?? もしそうなら、それを回避する方法があるはずですよね? $_SESSION['NextPage']
大声で叫ぶためのセッション変数です!$_SESSION['NewURL']
関数内でエコーすると、そこで情報にアクセスできることは言うまでもありません?Page=2
。URLにプッシュされないだけです。残念ながら、ページは の値に基づいて異なるコンテンツを表示するように設定されており、$_GET['Page']
そのプロセスを制御するものは何もありません。
構文エラーか何かをしただけなら、当惑しますが、ほっとします。私はそれを見つけることができず、他にどこを向くべきかわかりません。ありがとう!