U
udailya
Гость
1<?php session_start();//вся процедура сверки логина и паролей работает на сессиях. Именно в них хранятся данные пользователя, пока он находится на сайте. Запускать сессию нужно в начале страничкиheader('Refresh: 5; URL=/vhod.php' //redirect с задержкой echo 'Вы будете перенаправлены на главную страницу через 5 секунд.'; //вывод сообщенияif (isset($_POST['login'])) { $login = $_POST['login']; if ($login == '' { unset($login);} } //заносим введенный пользователем логин в переменную $login, если он пустой, то уничтожаем переменнуюif (isset($_POST['password'])) { $password=$_POST['password']; if ($password =='' { unset($password);} }//заносим введенный пользователем пароль в переменную $password, если он пустой, то уничтожаем переменнуюif (empty($login) or empty($password)) //если пользователь не ввел логин или пароль, то выдаём ошибку и останавливаем выполнение скрипта { exit ("Вы ввели не всю информацию, вернитесь назад и заполните все поля!" } $login = stripslashes($login);//удаляет экранирование символов, произведенное функцией addslashes() $login = htmlspecialchars($login);//преобразует специальные символы в HTML-сущности (обрабатываем их, чтобы теги и скрипты не работали на случай от действий умников-спамеров)$password = stripslashes($password); //удаляет экранирование символов, произведенное функцией addslashes() $password = htmlspecialchars($password);$login = trim($login);//удаляет пробелы (или другие символы) из начала и конца строки$password = trim($password);// Задаём переменные для подключения к БД $db_host = 'localhost'; $db_user = 'test'; $db_password = 'test'; $database = 'test'; // Подключаемся к БД mysql_connect($db_host, $db_user, $db_password); mysql_select_db($database); $result = mysql_query("SELECT * FROM registr_users WHERE login='$login'" //извлекаем из базы из таблицы зарегистрированных пользователей все данные о пользователе с введенным логином $myrow = mysql_fetch_array($result);if (empty($myrow['password'])) { //если пользователя с введенным логином не существует exit ("<br /><br />Извините, введённый вами login или пароль неверный!" } else { //если существует, то сверяем паролиif ($myrow['password']== md5( "$password" )){ //если пароли совпадают, то запускаем данному пользователю сессию $_SESSION['login']=$myrow['login']; $_SESSION['id']=$myrow['id'];//эти данные очень часто используются, поэтому сессия запускается с использованием этих данных //Выводим информацию, что пользователь авторизован и снизу ссылку для перехода на главную страницу (можно на любую поставить ссылку) echo "<br /><br />Поздравляем! Вы успешно вошли на сайт! <br /><a href='/vhod.php'>Главная страница</a><br /><a href='/registration.php'>Регистрация</a>"; }else { //если пароли не совпали, выводим на экран информацию об этом и пользователя не авторизовываем exit ("<br /><br />Извините, введённый вами login или пароль неверный!" } } ?> 2<?php//Присваиваем каждому значению в форме переменную, передаём переменным данные формif (isset($_POST['submit'])){if(empty($_POST['login'])){echo 'Вы не ввели логин';}elseif(empty($_POST['password'])){echo 'Вы не ввели пароль';}elseif(empty($_POST['password2'])){echo 'Вы не ввели подтверждение пароля';}elseif($_POST['password'] != $_POST['password2']){echo 'Введенные пароли не совпадают';}elseif(empty($_POST['email'])){echo 'Вы не ввели E-mail';}else{$login=$_POST['login']; $password=$_POST['password']; $password2 = $_POST['password2'];$email = $_POST['email'];$password = md5( "$password" );//выборка id из вашей таблицы зарегистрированных пользователей, сверка логина и пароля$query = "SELECT `id` FROM `registr_users` WHERE `login`='{$login}' AND `password`='{$password}'"; $login = stripslashes($login);//удаляет экранирование символов, произведенное функцией addslashes() $login = htmlspecialchars($login);//преобразует специальные символы в HTML-сущности (обрабатываем их, чтобы теги и скрипты не работали на случай от действий умников-спамеров) $password = stripslashes($password); $password = htmlspecialchars($password); $login = trim($login);//удаляет пробелы (или другие символы) из начала и конца строки $password = trim($password); // Задаём переменные для подключения к БД$db_host = 'localhost';$db_user = 'test';$db_password = 'test';$database = 'test';// Подключаемся к БД mysql_connect($db_host, $db_user, $db_password);mysql_select_db($database); mysql_query("CREATE TABLE IF NOT EXISTS registr_users (`id` int(10) unsigned NOT NULL auto_increment, `date_created` datetime NOT NULL, `login` VARCHAR( 255 ) NOT NULL, `password` VARCHAR( 255 ) NOT NULL,`email` VARCHAR( 255 ) NOT NULL, PRIMARY KEY (`id` ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=6849" or die(mysql_error());$sql = mysql_query($query) or die(mysql_error());if (mysql_num_rows($sql) > 0){echo 'Такой логин уже существует';}$query = mysql_query("SELECT * FROM table WHERE title ='login' LIMIT 1"if (mysql_num_rows($query) == 0) {echo 'Такой логин занят';}else {//Записываем в БД данные форм$query="INSERT INTO `registr_users` (`id`, `date_created`, `login`, `password`, `email` VALUES ('', NOW(), '$login', '$password', '$email'"; $result = mysql_query($query); if (!$result) { $feedback = 'ОШИБКА - Ошибка базы данных'; $feedback .= mysql_error(); return $feedback; }echo 'Регистрация успешно прошла';echo '<br /><br /><a href="/vhod.php">Войти на сайт</a>';}}}?>