0

这是一个如此简单的问题,恐怕我错过了一些基本的东西,所以请随意羞辱我,但我很难过。

我的目标:制作一个“继续”按钮来重新加载相同的页面,但增加 ?Page= 对 GET 可见的参数。

我目前的方法:定义应该加载的新 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=在 URL 中附加任何参数,无论是在 Chrome 还是 Safari 中。这是因为此表单中未指定 Page 参数吗?如果是这样,一定有办法解决这个问题,对吧? $_SESSION['NextPage']是一个会话变量,用于大声喊叫!更不用说当我$_SESSION['NewURL']在函数内部回显时,可以在那里访问信息,?Page=2等等。它只是没有推送到 URL。不幸的是,页面设置为根据 的值显示不同的内容$_GET['Page'],现在没有任何东西可以控制该过程。

如果我刚刚犯了语法错误或其他什么,我会感到尴尬但会松一口气。我只是找不到它,也不知道该去哪里。谢谢!

4

1 回答 1

0

如果您想通过表单(GETPOST)以简单的方式传递变量,那么只需使用隐藏表单input

<input type="hidden" name="page" value="<?php echo $_SESSION['NextPage']; ?>">

你的表格变成:

echo "<tr><td>
<form action='" . $_SESSION['NewURL'] . "' method='GET'>
  <input type='hidden' name='page' value='" . $_SESSION['NextPage'] . "'>
  <input type='submit' value='Continue'>
</form>
</td></tr>";
于 2013-10-09T21:42:31.623 回答