我正在为一个用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我的表单参数,但在我的情况下,我丢失了我的页面参数。
我不明白为什么在提交表单时它不记得我当前的参数。
我非常感谢你的帮助,并为我糟糕的英语感到抱歉。
谢谢!
答案 0 :(得分:4)
将页面参数添加到:
<form>
操作网址或<form>
作为隐藏的<input>
元素,如下所示: <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">