一个输入文本字段,带有两个提交按钮,搜索单独的页面

时间:2012-10-31 03:47:54

标签: php url isset

我有一个项目需要一个搜索表单,根据用户的查找内容搜索两个独立的eBay商店。

我想要一个带两个提交按钮的输入字段。我在获取表单以指定从任一按钮调用哪个站点时遇到问题。我已经好好看了一下并尝试了一些事情,但认为有人可能能够理顺我的语法等。

我有表格。

<form target="_blank" action="rp.php" method="get">

<input type="text">

<button name="replacement" type="submit">Search Replacement Parts</button>

<button name="performance" type="submit">Search Performance Parts</button>

</form>

..我有PHP。

<?php

    if( isset($_GET['replacement']) ) {

        header("Location: http://www.example.com");
        exit;

    } else if {

        ( isset($_GET['performance']) ) {

        header("Location: http://www.example.com");
        exit;

    }

?>

我认为我走在正确的轨道上,只需要一点帮助。我不知道是否使用POST或GET,GET似乎对我更有意义。

3 个答案:

答案 0 :(得分:2)

您可以使用以下代码:

<form target="_blank" name="myform"  method="POST">

<input type="text" name="search">

<button  onclick="submit1('http://example1.com/')" >Search Replacement Parts</button>

<button onclick="submit1('http://example2.com/')" >Search Performance Parts</button>

</form>

<script>

   function submit1(url)
   {
      document.myform.action=url;
      document.myform.submit();
   }

</script>

答案 1 :(得分:0)

elseif你的PHP有点偏,否则应该“工作”

<?php
if ( isset($_GET['replacement']) ) {
    header("Location: http://www.example.com");
    exit;
} elseif ( isset($_GET['performance']) ) {
    header("Location: http://www.example.com");
    exit;
}
?>

您可以使用GETPOST来执行此操作,但GET会导致查询值在查询字符串中可见,并且在某些旧版本中的大小有限浏览器。可能会优先考虑POST,在这种情况下,您可以在上面的代码中将$_GET替换为$_POST,并在表单中将method="get"更改为method="post"

答案 2 :(得分:0)

我会对两个按钮使用相同的名称,每个按钮的值都不同,然后在php代码中检查提交的值。