Регистрация на PHP и MySQL
Здравствуйте, на любом порядочном сайте бывает регистрация. Регистрация - не самый сложный момент, как показалось. Работает она на сессиях, используется суперглобальный массив $_SESSION. Это те же самые печенья(cookes), что оставляют на аунтифицировавшимся компьютере. PHP код проверяет, есть ли у компьютера cookes файл, если есть то пропускает его в контент для зарегистрировавшийся людей. Все данные хранятся в базе данных mySQL.
Форма регистрации
<form method="POST" action="login_add.php"> <h1 align="center" style="color:#444;">Регистрация</h1> логин<input type="text" name="login" value=""> пароль<input type="password" name="pass" value=""> <input type="submit" name='submit' value="Готово" id="submit"> </form>
MySQL
СОЗДАЙТЕ ТАБЛИЦУ В ВАШЕЙ БАЗЕ ДАННЫХ. Поля: id, login, pass(id- primary key, auto increment).
PHP скрипт занесения данных в базу.(login_add.php)
<?php if(isset($_POST['login']) && isset($_POST['pass']) )//если в форму написали логин и пароль { $db=mysql_connect("localhost","root","");//соединяемся с сервером mysql_select_db("baza", $db);//выбираем базу и показываем, что база из нужного нам сервера $normal=mysql_query("INSERT INTO `table` (`login`,`pass`) VALUES ('{$_POST['login']}','{$_POST['pass']}') " );// вставляем новые значения if($normal) { echo " Всё хорошо"; }else{echo " Всё ужасно";} }else{ echo "error"; } ?>
Код аунтификации
<form method="POST" action="login.php"> <h1 align="center" style="color:#444;">Вход</h1> логин<input type="text" name="login" value=""> пароль<input type="password" name="pass" value=""> <input type="submit" name='submit' value="Готово" id="submit"> </form>
PHP:
<?PHP $db=mysql_connect("localhost","root",""); mysql_select_db("baza",$db); $sql = mysql_query("SELECT `id` FROM `table` WHERE `login`='{$_POST['login']}' AND `pass`='{$_POST['pass']}' LIMIT 1") ;/*подаём запрос. Где выбирается пользователь у кого пароль и логин совпадают.При чём выбираем только одного, еси были введены одинаковые пароль и логин*/ // если пользователь нашелся if (mysql_num_rows($sql) == 1) { // Если нашёлся наш user, то мы ставим об этом метку в сессии. Это уникальный id $array = mysql_fetch_assoc($sql); $_SESSION['user'] = $array['id']; echo "Вы вошли удачно"; }else{echo "Вы вошли неудачно";} ?>
Для выхода пользователя надо лишь удалить переменную user функцией unset: unset($user);
Я всё проверял. Работает :)
Урок 8 - Работа с формами на PHP+AJAX