我有一个包含select,textarea和文本输入等多个字段的html搜索表单。我需要将所有字段中的值存储到php搜索表单中的$ input中,但我不确定如何将它们存储到php页面上名为$ input的变量中。
<form name="search" method="post" action="http://example.com/search/">
Seach for: <input type="text" name="find" /> <input type="submit"
name="search" value="Search" />
Search for movies by Type
<select name="find">
<option value="Sci-Fi" selected>Sci-Fi</option>
<option value="Comedy">Comedy</option>
<option value="Drama">Drama</option>
</select>
</form>
//on search.php need to 'find' to be data from several form inputs
$input = $_POST['find'];
答案 0 :(得分:0)
让你的$输入一个数组。例如:
$input = array(
"user" => $_POST['username'],
"find" => $_POST['find'],
);
或者只需通过执行以下操作将所有内容添加到$ input:
$input .= $_POST['username'];
$input .= $_POST['find'];
答案 1 :(得分:0)
如果您为多个输入提供相同的名称,$_POST['find']
将只包含其中一个输入(我认为是最后一个)。您需要为它们指定不同的名称,或者您可以使用[]
结束名称。当你执行后者时,PHP会将所有输入放入一个数组中。
<form name="search" method="post" action="http://example.com/search/">
Seach for: <input type="text" name="find[]" /> <input type="submit" name="search" value="Search" />
Search for movies by Type
<select name="find[]">
<option value="Sci-Fi" selected>Sci-Fi</option>
<option value="Comedy">Comedy</option>
<option value="Drama">Drama</option>
</select>
</form>
有了这个,你可以这样做:
$input = implode(' ', array_filter($_POST['find']));
array_filter
将删除所有空值,其余的将与它们之间的空格连接在一起。
答案 2 :(得分:0)
<?php
array_pop($_POST); // To delete Submit button from $_POST
foreach(array_filter($_POST) as $key=> $val)
{
$input .= "$val";
}
?>