Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/241.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
1个表单,2个选择,在提交时将它们带到一个链接(PHP-请帮助)_Php_Select_Redirect_Input_Hyperlink - Fatal编程技术网

1个表单,2个选择,在提交时将它们带到一个链接(PHP-请帮助)

1个表单,2个选择,在提交时将它们带到一个链接(PHP-请帮助),php,select,redirect,input,hyperlink,Php,Select,Redirect,Input,Hyperlink,我想用两个选项($a和$b)和一个提交按钮创建一个表单,当他们单击提交时,该按钮会将他们带到一个链接“$a$b” 例如,如果他们在第一次选择“年级”,第二次选择“10”,然后单击“提交”,则会将他们带到” 这是我的index.php,我还没有这么做,因为我不知道怎么做:p <?php error_reporting(E_ERROR | E_PARSE); $a = $_POST['a']; $b= $_POST['b']; echo $a, $b; ?> <form

我想用两个选项($a和$b)和一个提交按钮创建一个表单,当他们单击提交时,该按钮会将他们带到一个链接“$a$b”

例如,如果他们在第一次选择“年级”,第二次选择“10”,然后单击“提交”,则会将他们带到”

这是我的index.php,我还没有这么做,因为我不知道怎么做:p

    <?php 
error_reporting(E_ERROR | E_PARSE);

$a = $_POST['a'];
$b= $_POST['b'];
echo $a, $b;
?>
<form action="index.php" method="post">
<select name="a" title="a" id="a" >
    <option> </option>
    <option>a</option>
 </select>
 <select name="b" title="b" id="b" >
    <option> </option>
    <option>b</option>
 </select>
<input type="submit" value="submit" />
</form>

A.
B

谢谢:)

从技术上讲,这不需要PHP,因此您可以将POST请求的中间人删掉,返回到服务器端代码,然后通过JavaScript直接转到目标页面。也许是这样的:

<form action="index.php" method="post" id="redirector">
    <select name="a" title="a" id="a" >
        <option> </option>
        <option>a</option>
    </select>
    <select name="b" title="b" id="b" >
        <option> </option>
        <option>b</option>
    </select>
    <input type="button" value="submit" />
</form>

<script type="text/javascript">
    document.getElementById('redirector').onsubmit = function () {
        var a = document.getElementById('a').value;
        var b = document.getElementById('b').value;
        window.location.href = 'http://www.mywebsite.com/' + a + b;
        return false;
    };
</script>

您可能希望在JavaScript版本和PHP版本中的值中添加一些错误检查逻辑,以防用户没有选择某个内容(例如,如果select中有一个空选项),或者恶意用户试图发布错误值。从技术上讲,在PHP版本中,您将用户输入回显到响应中,因此您应该研究诸如跨站点脚本攻击之类的问题。我不是如何在PHP中清理类似值的专家,但这是值得研究的。

如果要使用PHP,必须使用header(“Location://{$a}{$b}”);或者使用html转发(),但可能会遇到一些安全问题,因此最好验证$a、$b确实是您给定的选项,或者只使用$a、$b作为实际值的索引。或者,您也可以只使用javascript,尽管这并不能保证对所有可能的访问者都有效。您能发布一下,index.php应该如何使用吗?完整的表格非常感谢:)工作了!
$a = $_POST["a"];
$b = $_POST["b"];
header("Location: http://www.mywebsite.com/" . $a . $a);