0

お問い合わせフォームに 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! :)";
    }
4

1 に答える 1

2

関数から値を返す必要があります。

function clean($string) {
return preg_replace('/[^a-zA-Z0-9\s]/', '', strip_tags(html_entity_decode($string)));
}
于 2013-07-06T06:12:39.203 に答える