お問い合わせフォームに clean() 関数を追加して、特殊文字を削除しましたが、何らかの理由で、件名なしで空白のメッセージを送信しているだけです。文字列から関数を削除すると、機能します。
フォームの一部を次に示します。
function clean($string) {
preg_replace('/[^a-zA-Z0-9\s]/', '', strip_tags(html_entity_decode($string)));
}
if (isset($_REQUEST['email']))
{//if "email" is filled out, proceed
//check if the email address is invalid
$mailcheck = spamcheck($_REQUEST['email']);
if ($mailcheck==FALSE)
{
echo "Invalid input. Please <a href='http://pattersoncode.ca/index.php?a=help'>try again</a>";
}
else
{//send email
$email = $_REQUEST['email'] ;
$product = clean($_REQUEST['product']);
$message = clean($_REQUEST['message']);
mail("support@pattersoncode.ca", "Subject: $product",
$message, "From: $email" );
echo "I'll be in contact shortly, thanks! :)";
}