使用表单(method = GET)传递其他地方定义的参数

时间:2013-10-09 21:33:20

标签: php html parameters get form-submit

这是一个如此简单的问题,我担心我会遗漏一些基本的东西,所以请随意羞辱我,但我很难过。

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

我目前的做法:定义应加载的新网址(此位有效)

$_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>";

问题:表单提交时,它不会在Chrome或Safari中将任何?Page=参数附加到网址。这是因为在这个表单中没有指定Page参数吗?如果是这样,必须有办法解决这个问题吧? $_SESSION['NextPage']是一个会话变量,用于大声喊叫!更不用说当我在函数内部回显$_SESSION['NewURL']时,可以在那里访问信息,?Page=2和所有。它只是没有推到URL。遗憾的是,页面设置为根据$_GET['Page']的值显示不同的内容,现在没有任何内容可以控制该过程。

如果我刚刚犯了一个语法错误或某些东西,我会感到尴尬但是松了一口气。我只是找不到它,也不知道还有什么地方可以转。谢谢!

1 个答案:

答案 0 :(得分: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>";
相关问题