Код ниже содержит некоторый код PHP, который позволяет пользователям отправлять приглашения по электронной почте другим. Работает нормально. Тем не менее, я пытаюсь добавить функцию под названием «check_porn_terms», так что ни один пользователь не может ввести свое имя как «порно» или другие вульгарные термины, а затем отправить по электронной почте под этим именем рекомендовать мой сайт. Переменная "$ _POST ['sendername']" - это имя пользователя.
Функция ниже не работает. Любая идея, как я могу заставить его работать?
Заранее спасибо,
John
function check_porn_terms($input) {
$porn_terms = array("porn", "sex", "etc.");
return !preg_match('#\b(' . join('|', array_map('preg_quote', $porn_terms)) . ')\b#i', $input);
}
$sendername = $_POST['sendername'];
$sendername = strtolower($sendername);
if(!check_porn_terms($sendername))
{
session_write_close();
header("Location:http://www.site.com/friends.htm");
exit;
}
$msg = "<html><body>Hello, your friend ".htmlspecialchars($_POST['sendername'])." recommends that you use <a href='http://www.site.com/'>Site.com</a><br><br><img src='http://site.com/images/blacklogo.PNG'></body></html>";
$subject = "Try out Site.com";
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= 'From: ' . $_POST['sendername'] . "\r\n";
foreach($_POST['email'] as $email){
mail($email, $subject,$msg,$headers);
}