PHP从多个选定值生成表单操作url。(无Javascript)
我正在尝试为一个汽车网站制作一个搜索表单,我需要用所选的值生成表单操作。例如:PHP从多个选定值生成表单操作url。(无Javascript),php,forms,url,select,Php,Forms,Url,Select,我正在尝试为一个汽车网站制作一个搜索表单,我需要用所选的值生成表单操作。例如: <form metho="" action=""> <select id="make" name="make" class="select"> <option value="honda">honda</option> <option value="ford">ford</option> </select> <select id
<form metho="" action="">
<select id="make" name="make" class="select">
<option value="honda">honda</option>
<option value="ford">ford</option>
</select>
<select id="model" name="model" class="select">
<option value="civic">civic</option>
<option value="fit">fit</option>
</select>
<select id="year" name="year" class="select">
<option value="2014">2014</option>
<option value="2013">2013</option>
</select>
<input type="submit" value="Submit">
</form>
我事先非常抱歉。正如上面的评论所说,您不能通过使用PHP来更改
操作=“”
。客户端脚本可以做到这一点,或者,您可以先提交表单。在同一页上收集值/输入,然后在处理表单后使用header()
函数:
<?php
// if its submitted
if(isset($_POST['make'], $_POST['model'], $_POST['year'])) {
// gather all the values
$make = urlencode($_POST['make']);
$model = urlencode($_POST['model']);
$year = $_POST['year'];
// make a header redirect
header("Location: http://www.exampledomain.com/$make/$model/$year");
exit;
}
?>
<form method="POST" action=""> <!-- leave the action="" empty -->
<select id="make" name="make" class="select">
<option value="honda">honda</option>
<option value="ford">ford</option>
</select>
<select id="model" name="model" class="select">
<option value="civic">civic</option>
<option value="fit">fit</option>
</select>
<select id="year" name="year" class="select">
<option value="2014">2014</option>
<option value="2013">2013</option>
</select>
<input type="submit" value="Submit">
</form>
本田
河流浅水处
公民的
适合
2014
2013
您可以尝试以下方法:
<?php
if ((isset($_POST['make'])) and (isset($_POST['model'])) and (isset($_POST['year']))) {
$url = "mydomain.com/".$_POST['make']."/".$_POST['model']."/".$_POST['year']; //with http://
header("Location: ".$url);
die();
}
?>
<form method="POST" action="">
<select id="make" name="make" class="select">
<option value="honda">honda</option>
<option value="ford">ford</option>
</select>
<select id="model" name="model" class="select">
<option value="civic">civic</option>
<option value="fit">fit</option>
</select>
<select id="year" name="year" class="select">
<option value="2014">2014</option>
<option value="2013">2013</option>
</select>
<input type="submit" value="Submit">
</form>
本田
河流浅水处
公民的
适合
2014
2013
但这不是最好的方法。在PHP中无法做到这一点,因为PHP在服务器上运行,而不是在浏览器上运行。让
method=“POST”action=“somescript.php”
和somescript.php
检查用户检查的值,然后使用标题('Location:'。$theUrl)从那里重定向到任何url谢谢,我会试试看,然后告诉你进展如何。非常感谢。现在开始我的新挑战,把它变成wordpress插件。@Mickeymai我很高兴这有帮助
<?php
if ((isset($_POST['make'])) and (isset($_POST['model'])) and (isset($_POST['year']))) {
$url = "mydomain.com/".$_POST['make']."/".$_POST['model']."/".$_POST['year']; //with http://
header("Location: ".$url);
die();
}
?>
<form method="POST" action="">
<select id="make" name="make" class="select">
<option value="honda">honda</option>
<option value="ford">ford</option>
</select>
<select id="model" name="model" class="select">
<option value="civic">civic</option>
<option value="fit">fit</option>
</select>
<select id="year" name="year" class="select">
<option value="2014">2014</option>
<option value="2013">2013</option>
</select>
<input type="submit" value="Submit">
</form>