// Конектимся к базе session_start(); include("config.php");
// Вносим информацию в переменные
$login = $_POST['login']; $pass = $_POST['pass']; $pass_again = $_POST['pass_again']; $mail = $_POST['mail']; $date_b = $_POST['date_b']; $date_r = $_POST['date_r']; $city = $_POST['city']; $icq = $_POST['icq']; $about = $_POST['about']; $go = $_POST['go']; $user_id = $_POST['user_id'];
// Если нажали кнопку Зарегестрироватся, то проверяем все введённые данные
if(isset($go)) { if(isset($login)) { trim($login); // Проверка на сликом длинный и короткий логин
if(strlen($login) < 3) exit ("Слишком короткий логин"); if(strlen($login) > 25) exit ("Слишком длинный логин"); // Проверка на существующие логины в базе
$query = "SELECT login FROM user"; $res = mysql_query($query) or die (mysql_error()); while($pr = mysql_fetch_array($res)) if($login == $pr['login']) { exit("Такой логин уже существует"); } } else exit("Не введён Логин"); // Проверка на совпадение пароля в двух инпутах
if(isset($pass) and ($pass_again)) { if($_POST['pass'] == $_POST['pass_again']) { trim($pass); trim($pass_again); // Проверка на слишком короткий и длинный пароль
if(strlen($pass_again) < 4) exit ("Слишком короткий пароль"); if(strlen($pass_again) > 15) exit ("Слишком длинный пароль"); // Проверка пароля на латинские символы
if (!eregi("^([A-Za-z0-9А])", $pass_again)) exit("Пароль должен содержать только латинские буквы"); // Хэшируем пароль
$password = md5($pass_again); } else exit ("Не совпадает пароль"); } else exit("Не введён пароль"); // Проверка мэйла
if(isset($mail)) { if(!preg_match("|^[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,6}$|i", $_POST["mail"])) { exit("Не правильно введён имайл!"); } else{ // Проверка мэйла на уже существующий в базе
$query = "SELECT mail FROM user"; $res = mysql_query($query) or die (mysql_error()); while($pr = mysql_fetch_array($res)) if($mail == $pr['mail']) { exit("Такой мэйл уже существует"); } } }else exit("Не введён имэйл"); // Если ввели ICQ то проверяем на слишком длинный и короткий, а также на то чтоб в номере ICQ присутсвовали только цифры if(!empty($icq)) { if(strlen($icq) > 9) exit ("Слишком длинный ICQ"); if(strlen($icq) < 3) exit ("Слишком короткий ICQ"); if (!eregi("[0-9]", $icq)) exit("ICQ должен содержать только цифры"); } // Проверка города
if(!empty($city)) { if(strlen($city) > 15) exit ("Слишком длинное название города"); if(strlen($city) < 2) exit ("Слишком короткое название города"); } // Проверка даты рождения
if(!empty($date_b)) { if (!eregi("[0-9]", $date_b)) exit("Дата должна состоять только из цифр"); } // Проверка поля "О себе"
if(!empty($about)) { if(strlen($about) > 400) exit ("Многа букаф"); } // Проверка капчи
if(count($_POST) > 0) { if(isset($_SESSION['captcha_keystring']) && $_SESSION['captcha_keystring'] == $_POST['keystring']) { echo(" "); } else { exit ("Неправильно введён код безопасности"); } } unset($_SESSION['captcha_keystring']);
// Игнорирование html тэгов и слэшей
$login = htmlspecialchars(stripcslashes($login)); $pass = htmlspecialchars(stripcslashes($pass)); $pass_again = htmlspecialchars(stripcslashes($pass_again)); $mail = htmlspecialchars(stripcslashes($mail)); $date_b = htmlspecialchars(stripcslashes($date_b)); $icq = htmlspecialchars(stripcslashes($icq)); $city = htmlspecialchars(stripcslashes($city)); $about = htmlspecialchars(stripcslashes($about));
// Замена html тэгов
$about = nl2br($about); $about = str_replace("[b]", "<b>", $about); $about = str_replace("[B]", "<b>", $about); $about = str_replace("[/b]", "</b>", $about); $about = str_replace("[/B]", "</b>", $about); $about = str_replace("[i]", "<i>", $about); $about = str_replace("[I]", "<i>", $about); $about = str_replace("[/i]", "</i>", $about); $about = str_replace("[/I]", "</i>", $about); $about = str_replace("[u]", "<u>", $about); $about = str_replace("[U]", "<u>", $about); $about = str_replace("[/u]", "</u>", $about); $about = str_replace("[/U]", "</u>", $about);
// Формируем дату
$date_r = date("Дата: j.m.Y Время: G:i");
// Добавляем пользователя в базу данных
$query = "INSERT INTO user (user_id, login, pass, mail, date_b, date_r, icq, city, about) VALUES ('$user_id', '$login', '$password', '$mail', '$date_b', '$date_r', '$icq', '$city', '$about')"; $result = mysql_query($query);
if(!isset($result)) { echo("Ошибка регистрации"); }
// Переходим на страницу логина
echo "<html><head> <meta http-equiv='Refresh' content='0; URL=login_form.php'> </head></html>"; exit(); } |