数値データをデータベースに追加する前に検証しようとしていますが、何らかの理由で正または負の論理でエラー メッセージの条件をトリガーしていません。文字や特殊文字を入れることができますが、コードはまだエラーをキャッチしません。構文エラーのように見える他の多くの同様の質問を読みましたが、コードの問題を見つけることができません。
<?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>
';
} ?>
これらは私が試した2つの方法であり、どちらも数値以外のデータをキャッチしません。