硬编码的GET值不是从表单发送的

时间:2013-09-14 22:14:50

标签: php html forms web get

在我的表单元素的action属性中,我指定了一些get值,它们将与实际表单中的值一起发送。但是,我硬编码的值不会发送到新文档,我做错了什么?

 <form action="loginForm.php?type=dept" method="get">
    <select name="dept" onchange="this.form.submit()">
      <option value="">Department</option>
      <option value="Bar">Bar</option>
      <option value="Cleaning">Cleaning</option>
      <option value="Kitchen">Kitchen</option>
      <option value="Management">Management</option>
      <option value="Maintenance">Maintenance</option>
      <option value="Waiting">Waiting</option>
    </select>
  </form>

在loginForm文件的顶部是这段代码,每次输出“Type not set”

if(!isset($_GET['type']))
{
    echo 'Type not set';
}

2 个答案:

答案 0 :(得分:0)

尝试使用hidden输入发送,如下所示:<input type='hidden' name='type' value='dept' />

您的代码应该是这样的:

<form action="loginForm.php" method="get">
    <input type='hidden' name='type' value='dept' />
    <select name="dept" onchange="this.form.submit()">
      <option value="">Department</option>
      <option value="Bar">Bar</option>
      <option value="Cleaning">Cleaning</option>
      <option value="Kitchen">Kitchen</option>
      <option value="Management">Management</option>
      <option value="Maintenance">Maintenance</option>
      <option value="Waiting">Waiting</option>
    </select>
  </form>

答案 1 :(得分:0)

这是因为在提交页面时,通过将它们放入URL中“强制”的get参数被“覆盖”。您需要使用隐藏字段,如:

input type="hidden" name="type" value="valuehere" />

将此添加到表单中将提交此附加值。