检查用户输入是否与值数组匹配。 PHP

时间:2011-04-14 19:34:17

标签: php validation forms redirect

我有一个字段(用于邮政编码),如果用户输入的邮政编码与我的数组中的一个匹配,然后点击“开始” - 它们会被重定向到下一步,如果没有 - 显示“我们的服务范围之外”消息。表单和PHP脚本在同一页面上。我如何在内部进行重定向这是我到目前为止所做的。

     <form>
<input type="text" id="zipcode" name="zipcode" />
<input type="submit" id="submit" value="GO" />
</form>
<?php 
$allowedzips = array("10051", "10061", "10071", "10081");
$input = echo $_POST["zipcode"];
$input = str_split($input);
$message = "Out of our service area";
foreach($input as $zip) {
    if (in_array($zip, $allowedzips)) {
        $message //redirect goes here
        break;
    }
}
echo $message;

?>

3 个答案:

答案 0 :(得分:1)

PHP重定向很容易做到:

header('Location: www.example.com');
exit;

确保exit;,因为这将阻止脚本执行任何进一步的操作。

答案 1 :(得分:0)

我认为最好使用javascript而不是PHP来实现这一目标。

我要做的是将其添加到你的HTML

的头部
<script type="test/javascript">

    function checkZipCode(zip) {
        var myZipCodes=new Array("10051", "10061", "10071", "10081");
        for(i=0;i<myZipCodes.length;i++) {
            if (zip = myZipCodes[i]) {
                form.submit;
            }
            else
                window.location = "redirectpage";
        }
    }

</script>

然后提交电话并将邮政编码传递给checkZipCode。

答案 2 :(得分:0)

我会在PHP中执行此操作以确保您不会在客户端欺骗

使用in_array()功能确定您要查找的元素是否在有效邮政编码列表中,并相应地重定向。