这是一个如此简单的问题,我担心我会遗漏一些基本的东西,所以请随意羞辱我,但我很难过。
我的目标:制作一个“继续”按钮,重新加载同一页面,但增加的?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']
的值显示不同的内容,现在没有任何内容可以控制该过程。
如果我刚刚犯了一个语法错误或某些东西,我会感到尴尬但是松了一口气。我只是找不到它,也不知道还有什么地方可以转。谢谢!
答案 0 :(得分:0)
如果您想通过表单(GET
或POST
)传递变量,那么只需使用隐藏的表单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>";