Я хочу разработать искатель почтового индекса, почтовый индекс состоит из 4 цифр и двух букв. Если почтовый индекс правильный, пользователь получит подтверждение о том, что мы доставляем его в этот район. Если нет, то сообщение, которое мы не доставляем туда.
А если почтовый индекс не содержит правильных критериев, выдается ошибка: введите правильный почтовый индекс 4 цифры и 2 буквы.
Вот примерный макет php:
<?php
if($_SERVER['REQUEST_METHOD'] == "POST")
{
$postcode = array(6458,7493,6002,7520);
if(in_array($_POST['postcode'],$postcode))
{
echo 'We deliver on that district';
}
else
{
echo 'This order can not be delivered in that area';
}
}function IsPostcode($value) {
return preg_match('/^[1-9][0-9]{3} ?[a-zA-Z]{2}$/', $value);
}
if(IsPostcode($_POST['postcode'])) {
echo 'Correct Zip code';
}
else {
echo 'Incorrect zip code enter 4 letters and 2 numbers';
}
?>
<form method="post" action="<?php echo $_SERVER['PHP_SELF']?>">
<input type="text" name="postcode" />
<input type="submit" value="verstuur" />
</form>
заранее спасибо
Дайте это попробовать
<?php
if($_SERVER['REQUEST_METHOD'] == "POST") {
$postcode = array(6458,7493,6002,7520);
if(preg_match('/^[1-9][0-9]{3} ?[a-zA-Z]{2}$/', $_POST['postcode'])) {
if(in_array($_POST['postcode'],$postcode)) {
echo 'We deliver on that district';
} else {
echo 'This order can not be delivered in that area';
}
} else {
echo 'Incorrect zip code enter 4 letters and 2 numbers';
}
}
?>
<form method="post" action="<?php echo $_SERVER['PHP_SELF']?>">
<input type="text" name="postcode" />
<input type="submit" value="verstuur" />
</form>
Сначала следует проверить, соответствует ли оно вашему регулярному выражению, а затем проверить, находятся ли они в пределах допустимого диапазона. Ваше регулярное выражение в настоящее время не соответствует разрешенным адресам, поэтому все они будут This order can not be delivered in that area
или же Incorrect zip code enter 4 letters and 2 numbers
,
Вам также не нужна функция, которая просто возвращает результат встроенной функции PHP.
Других решений пока нет …