filter_var($_POST['email'], FILTER_VALIDATE_EMAIL))
должен заблокировать всякие абракадабры. А он у меня все пропускает(хоть пишы - dfgdfgdg или evilgoogle@mail.ru)
Вот код обработчика
<?php
error_reporting (-1);
include './blocks/db.php';
mysqli_set_charset($db, 'utf8');
$error_login = array();
$error_pass = array();
$error_email = array();
if ((isset ($_POST['login'])) && (empty ($_POST['login']))) {
$error_login = 'Вы не заполнили поля Ник';
echo '<p>'.$error_login.'</p>';
}
if ((isset ($_POST['pass'])) && (empty ($_POST['pass']))) {
$error_pass = 'Вы не ввели пароль';
echo '<p>'.$error_pass.'</p>';
}
if ((isset ($_POST['email'])) && (empty ($_POST['email'])) && filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) {
$error_email = 'Вы не заполнили поля Почта';
echo '<p>'.$error_email.'</p>';
}
if (!count($error_login) && !count($error_pass) && !count($error_email)) {
$login = htmlspecialchars($_POST['login']);
$pass = htmlspecialchars($_POST['pass']);
$email = htmlspecialchars($_POST['email']);
$login = mysql_real_escape_string($_POST['login']);
$pass = mysql_real_escape_string($_POST['pass']);
$email = mysql_real_escape_string($_POST['email']);
mysqli_query ($db,"INSERT INTO `user` (`login`, `pass`, `email`) VALUES ('$login', '$pass', '$email')") or die (mysqli_error());
header ("location: cab/afterreg.php");
}
_____________
Жадный.... жадный.... жадный кот