データのエスケープ、または少なくともそれに関連するコードのクリーンさに関して少し問題があります。
たとえば、「FirstName」という名前のテキストフィールドをエスケープしているとすると、次のようになります。
$FirstName = mysqli_real_escape_string($link, $_POST['FirstName']);
$FirstName = preg_replace( "/[<>#$%]/", "", $FirstName);
$FirstName = preg_replace('/\s\s+/', ' ', $FirstName);
とにかく、最後の2行をある種のループに入れることができますか?次のようにしましょう:
foreach($_POST as $name => $value)
{
$value = preg_replace( "/[<>#$%]/", "", $value);
$value = preg_replace('/\s\s+/', ' ', $value);
}
後でやらなければならないのは
$FirstName = mysqli_real_escape_string($link, $_POST['FirstName']);
$ _POST ['FirstName']はすでに他の文字を取り除いていますか?