フィールドに数値が含まれているかどうかを確認する必要があります。含まれている場合は、スクリプトが返されます。
これは私のスクリプトです
if ($name != null && $age != null) {
if (!preg_match("/^[a-z]$/", $param)) {
echo 'You cannot use numbers for your name lol!';
return;
}
if (!is_numeric($age)) {
echo 'You must use numbers for your age!';
return;
}
mysql_select_db("jony", $connectMysql);
$sql="INSERT INTO person (name, age) VALUES ('$_POST[name]','$_POST[age]')";
if (!mysql_query($sql,$connectMysql))
die('MySQL problem:'.mysql_error());
mysql_close($connectMysql);
header('location: http://localhost/index.php.php');
} else {
echo 'Fields are empty!';
return;
}
これを使用して、フィールド '$name' が数値かどうかを確認し、数値の場合はそれを返します。
if (is_numeric($name)) {
echo 'You cannot use numbers for your name lol!';
return;
}
フィールドに数字だけを入れればうまくいきます。
ただし、数字と文字を含めると、コードが続行され、リターンが無視されます。なぜこうなった?私は何を間違えましたか?ありがとう!