0
連絡先フォームのメッセージ内に不適切な単語をフィルタリングする問題があります。 単語の最初の文字以外のすべてのメッセージを削除します。 助けてください?以下 連絡先フォームでPHPベースの単語をフィルタする問題
だけの情報<?php
$error = '';
if(!empty($_POST['username'])) $username = $_POST['username'];
if(!empty($_POST['email'])) $email = $_POST['email'];
if(!empty($_POST['subject'])) $subject = check($_POST['subject']);
if(!empty($_POST['message'])) $msg = filter($_POST['message']);
を取得しているこれは私が悪い言葉を除去し、オプションの下にそれらを
$bad_words = array(
'word1' => 'gosh',
'word2' => 'darn',);
function filter($matches) {
global $bad_words;
$replace = $bad_words[$matches[0]];
return !empty($replace) ? $replace : $matches[0];
}
チェックドロップを置き換えるために使用しようとしています機能はありませんです特定の科目にメールを送ることができます。
function check($str){
global $error;
if ($str == 'Mean Spirited Comment'){
$error = 'You sent a Mean-Spirited Comment';
} else if ($str =='Political Comment'){
$error = 'You sent a Political Comment';
}
return $str;
}
場所情報と送信
$to = '[email protected]';
if (!empty($subject) && !empty($msg) && !empty($email) && !empty($username)){
if ($error == ''){
mail($to, $subject, $msg, 'From:' . $email);
} else {
print $error;
}
}
?>
答えはありませんが、 'empty()'の代わりに 'isset()'を使うべきです。また、 'global'を使わないでください。 – PeeHaa