GET表单方法不会附加参数

时间:2011-11-20 00:31:55

标签: php forms

我正在为一个用PHP编写的学校项目工作几周而且我被卡住了。

我在我的结构中使用了一个页面index.php?page = ....其中page可以是home,game,aboutus,contact等。

现在我在index.php?page=game,我希望使用带有GET方法的表单发送一些参数,如game_name,created_by和stage_paused。问题就出现了,因为当我按下“提交”按钮时,我丢失了"page=game"参数,类似于index.php?game_name=...&created_by=....,而且我的页面=游戏不再有了,默认情况下我的脚本会检查页面参数,如果没有,它呈现主页。

我检查了w3标准,并且他们说GET方法应该使用表单上action =""中指定的表格参数APPEND我的表单参数,但在我的情况下,我丢失了我的页面参数。

我不明白为什么在提交表单时它不记得我当前的参数。

我非常感谢你的帮助,并为我糟糕的英语感到抱歉。

谢谢!

3 个答案:

答案 0 :(得分:4)

将页面参数添加到:

  1. 您的<form>操作网址或
  2. 您的<form>作为隐藏的<input>元素,如下所示:
  3. <input type="hidden" name="page" value="<?= $_GET['page'] ?>" />

答案 1 :(得分:3)

一个简单的隐藏输入元素应该可以解决这个问题:

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

这样,通过URL提供的页面参数也被视为表单的一部分,因此被附加到表单操作URL。

答案 2 :(得分:2)

您需要为页面添加隐藏字段:

 <input type="hidden" name="page" value="game" />

您还可以将表单的方法更改为POST并将页面添加到操作中:

<form action="index.php?page=game" method="POST">