Веб программирование

Регистрация на 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);

Я всё проверял. Работает :)


Есть вопросы? Спроси на нашем форуме!!
admin1310 [28.07.2013 13:39]

Плохо что без исходника :)

zm2003160 [29.07.2013 20:19]

Хорошо, но нужно больше безопасности например функция htmlspecialchars()

ILA200160 [04.08.2013 15:55]

Еще уместно использование шифрования md5.

wolt6250 [11.11.2013 00:26]

Может выложу маленький нормальный урок со входом и регистрацией :-)

ILA200160 [11.11.2013 12:21]

Ну попробуй. Хорошо бы разнообразить этот код.



Оставлять комментарии можно только зарегистрированным




Предупреждение: Вся информация представлена исключительно в образовательных целях.
Ни авторы, ни администрация не несут ответственности в случае ее использования в противозаконных целях.