Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
$post_data = array(
'email' => (isset($_POST['email']))? $_POST['email'] : null,
'name' => (isset($_POST['name']))? $_POST['name'] : null,
'login' => (isset($_POST['login']))? $_POST['login'] : null,
'realname' => (isset($_POST['realname']))? $_POST['realname'] : null,
'subject-plain' => (isset($_POST['subject']))? $_POST['subject'] : null,
'body-plain' => (isset($_POST['body']))? $_POST['body'] : null
);
Какое уродство. Вы про функцию array_intersect_key не знаете что ли?$allowed_keys = array('email', 'name', 'login', 'realname', 'subject-plain', 'body-plain');
$post_data = array_intersect_key($_POST, array_fill_keys($allowed_keys, null));
foreach(explode(",","key1,key2") as $k)$arr[$k]=isset($_POST[$k])&&!sql_inj($k)?pstoclear($_POST[$k],$k):"";
WARNING: Please ignore the image, and instead enter chemical symbol for Silver (case is ignored).
ВНИМАНИЕ: Игнорируйте код на картинке, и введите химический символ серебра (регистр не имеет значения).

fromat=jsonНапример, можно не использовать проверку на спам, а просто подключить себе CAPTCHA «Яндекса», аналогично тому, как подключают ReCAPTCHA.
// Получение CAPTCHA
$captcha = YandexCW::get_captcha();
$_SESSION['captcha_id'] = (string) $captcha['captcha_id'];
$captcha_url = (string) $captcha['captcha_url'];
// Проверка CAPTCHA
$captcha_value = $_POST['captcha_value'];
$captcha_id = $_SESSION['captcha_id'];
$result = YandexCW::check_captcha($captcha_id, $captcha_value);
Используем «Яндекс.Чистый Веб» для защиты от спама