Проверьте, соответствует ли введенный пользователем массив значений.PHP - PullRequest
0 голосов
/ 14 апреля 2011

У меня есть одно поле (для почтового индекса), если пользователь вводит почтовый индекс, совпадающий с одним в моем массиве, и нажимает «перейти» - они перенаправляются на следующий шаг, если нет - выводят сообщение «из нашей зоны обслуживания»,Форма и скрипт 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 ]

1 голос
/ 14 апреля 2011

Перенаправление PHP довольно легко сделать:

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

Убедитесь, что exit;, так как это остановит выполнение скрипта.

0 голосов
/ 15 апреля 2011

Я бы сделал это на PHP, чтобы убедиться, что вы не обмануты на стороне клиента

Используйте функцию in_array(), чтобы определить, находится ли искомый элемент в вашем списке действительных почтовых индексов, и соответственно перенаправить.

0 голосов
/ 15 апреля 2011

Я думаю, что было бы лучше использовать 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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...