Я пытаюсь проверить числовые данные перед добавлением их в базу данных, но по какой-то причине они не запускают условие для сообщения об ошибке ни в положительной, ни в отрицательной логике. Я могу вставить буквы и специальные символы, и код по-прежнему не улавливает ошибки. Я прочитал о многих других подобных вопросах, которые все казались синтаксической ошибкой, но я не могу найти проблему с моим кодом.
<?php
$errorMsg = ""; // error messages variable
if(is_numeric($Shear)) {
$Shear = $_POST['Shear'];
}
else if(!($Shear)) {
$errorMsg = "You must enter level for Shear Hydraulics.";
}
else {
$errorMsg = "You must enter numeric data for Shear Hydraulics.";
}
if (!empty($_POST['High'])){ // check if level was entered
$High = $_POST['High'];
}
else if(!is_numeric($High)) { //check if only numbers were used
$errorMsg = "You must enter numeric data for High Pressure Hydraulic."; // and if not - add error message
}
else{
$errorMsg = "You must enter level for High Pressure Hydraulic."; // and if not - add error message
}
if (!empty($errorMsg)){ // if there are errors, display them.
echo ' <script type="text/javascript">
alert("'.$errorMsg.'");
</script>
';
} ?>
Это два метода, которые я пробовал, и ни один из них не перехватывает нечисловые данные.
Задача ещё не решена.
Других решений пока нет …