Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用属性将表单操作添加到url_Php_Html - Fatal编程技术网

Php 使用属性将表单操作添加到url

Php 使用属性将表单操作添加到url,php,html,Php,Html,我有一个名称属性为q的搜索字段,单击submit按钮后,我希望表单转到同一页面(即index.php),因此我将表单的操作设置为: 'index.php?a=nl&b=search'. 我希望导航到的url如下所示(因此操作url+字段名称): 但是,单击后,页面只导航到 'index.php?q=search-term' 有办法解决这个问题吗 添加a和b在表单中具有所需值的隐藏字段 将表单方法设置为GET,并将字段添加为隐藏字段 看起来您的表单只有q输入字段(和一个没有名称att

我有一个名称属性为q的搜索字段,单击submit按钮后,我希望表单转到同一页面(即index.php),因此我将表单的操作设置为:

'index.php?a=nl&b=search'.
我希望导航到的url如下所示(因此操作url+字段名称):

但是,单击后,页面只导航到

'index.php?q=search-term'

有办法解决这个问题吗

添加a和b在表单中具有所需值的隐藏字段


将表单方法设置为GET,并将字段添加为隐藏字段

看起来您的表单只有
q
输入字段(和一个没有名称attrib的提交按钮)。将提交后要附加到url的内容添加为隐藏输入-例如:

<form method="get" action="yoururl.com?a=nl&b=search">
<input type="hidden" name="a" value="<?php echo isset($_GET['a']) ? $_GET['a'] : ''; ?>"/>
<input type="hidden" name="b" value="<?php echo isset($_GET['b']) ? $_GET['b'] : ''; ?>"/>


不要在表单操作中使用
a=nl&b=search
,只需在表单中添加两个额外的隐藏输入:

<input type='hidden' name='a' value='nl' />
<input type='hidden' name='b' value='search' />

像这样的表单应该可以做到:

<form action="" method="get">
    <input name="q" type="text"/>
    <input name="a" type="hidden" value="nl"/>
    <input name="b" type="hidden" value="search"/>
    <input type="submit" value="Submit"/>
</form>


由于操作会转到同一页,因此不需要指定它。

因此您可以说您的表单如下所示:

<form method="POST" action='index.php?a=nl&b=search'>

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

</form>
$_GET['a']
$_GET['b']
$_POST['q']
$_REQUEST['a']
$_REQUEST['b']
$_REQUEST['q']
因为动作中的变量作为GET传递,表单中的字段作为POST传递

获取VAR的另一种方便方法是,如果VAR是GET或POST,则无需注意,只需通过
$\u REQUEST
数组访问它们,如下所示:

<form method="POST" action='index.php?a=nl&b=search'>

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

</form>
$_GET['a']
$_GET['b']
$_POST['q']
$_REQUEST['a']
$_REQUEST['b']
$_REQUEST['q']

使用
中的GET方法,您的表单应该如下所示:

<form method="get" action="index.php">
    <input type="hidden" value="nl" name="a">
    <input type="hidden" value="search" name="b">
    <input type="text" name="q">
    <input type="submit" value="submit">
</form>