为什么我的提交表单不适用于标题:位置?

时间:2016-08-03 07:35:57

标签: php form-submit submit-button

我有一个搜索表单,如果我这样使用它:

<form  method="post" action="search.php?go"> 
<input  type="text" name="name"> 
<input  type="submit" name="search" value="Search">
</form>

有效。

如果我尝试像这样使用它,那么它不会:

<?php
    if ($_POST['submit'] == 'search') {
        header("Location:search.php?go");

      }

    ?>

    <!DOCTYPE html>
    <html>
        <head>
    </head>
    <body>

    <form  method="post" action=""> 
        <input  type="text" name="name"> 
        <input  type="submit" name="search" value="Search">
        </form>

我的网站上需要两种形式(搜索和下拉菜单),如果我使用简单的&#34;动作&#34;随着要调用的页面,它不起作用,所以我尝试用PHP。

我只发现了这个&#34;标题:位置&#34;在网上的方法,但它对我没有用。

编辑: 我在没有重定向的情况下以另一种方式解决了这个问题,因为即使使用会话变量,我也无法使其工作。

3 个答案:

答案 0 :(得分:1)

<?php
if (isset($_POST["search"])) 
{
    header("Location: search.php?go");
}
?>

<!DOCTYPE html>
<html>
    <head>
    </head>
    <body>
        <form  method="post" action=""> 
            <input  type="text" name="name"> 
            <input  type="submit" name="search" value="Search">
        </form>
    </body>
</html>

请使用此代码。这有效..

答案 1 :(得分:0)

你的表格错了,应该是这样的:

<form  method="post" action=""> 
  <input type="text" name="name"> 
  <input type="submit" name="submit" value="search">
</form>

答案 2 :(得分:-1)

这里有两件事:

  1. 您在发送标头之前输出HTML。那不行。输出任何内容后,重定向浏览器为时已晚。
  2. 您没有在<?php标记中嵌入PHP,因此您只能将其视为文本输出。
  3. 我会试试这个:

    <?php 
        if ($_POST['submit'] == 'search') {
            header("Location:search.php?go");
            exit;
        }
    ?>
    <form  method="post" action=""> 
        <input  type="text" name="name"> 
        <input  type="submit" name="search" value="Search">
    </form>