PHP 3 вариант, если заявление

0

В настоящее время я изучаю PHP, но сталкиваюсь с проблемами. На данный момент я создаю средство проверки почтовых индексов, которое проверяет, поддерживает ли мы (наша компания) локальный совет в этой области. Проблема заключается в сообщениях об ошибках, у меня есть сообщение "Успех" и "Ошибка", но мне также должно появиться сообщение об ошибке "Извините, мы не поддерживаем ваш Совет". Любая помощь будет высоко ценится!

PHP

if (isset($_POST['submitlogin']) && empty($_POST["postcode"])) {

echo '<div class="redalert">'."Please enter a Postcode".'</div>';
echo '<style>' .".enter {display:none;}". '</style>';

}

else {

if (isset($_POST['submitlogin'])) {
    echo '<style>' .".enter {display:none;}". '</style>';

        $postcodes = array("SW16","BN2","BN3","BN1","BN42");
        if (in_array($input, $postcodes)) {
            echo '<div class="alert">' . $brighton . '</div>';
        }
        $postcodes = array("PO18","RG14","GU29","PO20","GU28","PO19");
        if (in_array($input, $postcodes)) {
            echo '<div class="alert">' . $chichester .'</div>';
        }
        $postcodes = array("BN22","G42","G31","BN23","BN21","BN20","BN24");
        if (in_array($input, $postcodes)) {
            echo '<div class="alert">' . $eastbourne . '</div>';
        }
        $postcodes = array("SO32","SO50","SO30","SO31","SO53","SO16","SO21","SO52");
        if (in_array($input, $postcodes)) {
            echo '<div class="alert">' . $eastleigh . '</div>';
        }
        $postcodes = array("KT12","KT14","KT10","KT11","KT8","KT6","KT13","KT22","KT7");
        if (in_array($input, $postcodes)) {
            echo '<div class="alert">'.$elmbridge.'</div>';
        }
        $postcodes = array("PO12","PO13","PO14");
        if (in_array($input, $postcodes)) {
            echo '<div class="alert">'.$gosport.'</div>';
        }
        $postcodes = array("GU15","GU3","GU7","KT11","GU2","GU5","GU1","GU24","TW20","GU3","GU23","GU10","GU7","GU4","GU5","GU2","GU10","GU7","GU21","GU3","GU4","GU3","GU1","GU5","GU3","GU12","GU1","GU7","GU4","GU8","GU23","GU4","GU7","GU4","GU3","KT24","GU23","GU3","GU7","GU5","GU23","GU5","RH5","GU4","KT24","GU7","GU8","GU1");
        if (in_array($input, $postcodes)) {
            echo '<div class="alert">'.$guildford.'</div>';
        }
        $postcodes = array("GU17","GU52","GU10","GU51","RG27","GU10","GU51","RG29","GU46");
        if (in_array($input, $postcodes)) {
            echo '<div class="alert">'.$hart.'</div>';
        }
        $postcodes = array("TN34","TN33","TN38","TN35","TN37");
        if (in_array($input, $postcodes)) {
            echo '<div class="alert">'.$hastings.'</div>';
        }
        $postcodes = array("BN8","BN6","BN7","BN9","BN10","BN25","RH17");
        if (in_array($input, $postcodes)) {
            echo '<div class="alert">'.$lewes.'</div>';
        }
        $postcodes = array("KT15","KT16","TW20","TW18","KT15","GU25");
        if (in_array($input, $postcodes)) {
            echo  '<div class="alert">'.$runnymede.'</div>';
        }
        $postcodes = array("GU11","GU17","GU14","GU9");
        if (in_array($input, $postcodes)) {
            echo '<div class="alert">'.$rushmoor.'</div>';
        }
        $postcodes = array("BN26","TN33","TN22","BN8","TN6","RH17","RH18","BN27","TN21","BN24","TN5","TN7");
        if (in_array($input, $postcodes)) {
            echo '<div class="alert">'.$wealden.'</div>';
        }
        $postcodes = array("KT14","GU24","GU21","GU22","GU4");
        if (in_array($input, $postcodes)) {
            echo '<div class="alert">'.$woking.'</div>';
        }




    }

 }
    ?>

Я попытался добавить Else после каждого, но не добился успеха. Любое руководство было бы замечательным.

С уважением

Теги:
error-handling

2 ответа

0
Лучший ответ

Вам просто нужно отслеживать, если ЛЮБОЙ из тех операторов if() нашел совпадение:

$found = false;
if(in_array(...)) {
   $found = true;
}
if(in_array(...)) {
   $found = true;
}
... lots more ifs() ...

if (!$found) {
   die("Council not supported");
}
  • 0
    Я попробую, спасибо!
  • 0
    Большое вам спасибо, это работает на месте!
0

Вы можете сделать это с помощью инструкций elseif:

if (in_array($input, $postcodes = array("SW16","BN2","BN3","BN1","BN42"))) {
    echo '<div class="alert">' . $brighton . '</div>';
} elseif (in_array($input, $postcodes = array("PO18","RG14","GU29","PO20","GU28","PO19"))) {
    echo '<div class="alert">' . $chichester .'</div>';
} elseif (in_array($input, $postcodes = array("BN22","G42","G31","BN23","BN21","BN20","BN24"))) {
    echo '<div class="alert">' . $eastbourne . '</div>';
} //a lot more else ifs
else { //none of the above if conditions were met
    echo '<div class="alert">Invalid postal code!</div>';
}

Поскольку все блоки if/elseif/else состоят только из 1 строки в этом примере, вы можете оставить фигурные скобки:

if (in_array($input, $postcodes = array("SW16","BN2","BN3","BN1","BN42")))
    echo '<div class="alert">' . $brighton . '</div>';
elseif (in_array($input, $postcodes = array("PO18","RG14","GU29","PO20","GU28","PO19")))
    echo '<div class="alert">' . $chichester .'</div>';
elseif (in_array($input, $postcodes = array("BN22","G42","G31","BN23","BN21","BN20","BN24")))
    echo '<div class="alert">' . $eastbourne . '</div>';
else
    echo '<div class="alert">Invalid postal code!</div>';

Обратите внимание, что когда вы используете фигурные скобки, вы можете использовать либо else if либо elseif - но когда вы оставляете фигурные скобки, используя else if (с пробелом между ними) будет сбой с ошибкой синтаксического анализа.

  • 0
    Спасибо за ваше время, у меня это работает отлично сейчас

Ещё вопросы

Сообщество Overcoder
Наверх
Меню