€
$
₴
₽
EN
RU
Vmeste.EU
Лента
Каталог
Файлы
Форумы
Услуги
Основное
Radiotalk
Пользовательское
Программирование
6 •
Посмотреть все темы
Простой скрипт регистрации и авторизации пользователей на PHP+MySQL
1
6600
Александр
@admiral
03.10.2009
I.
Простой скрипт регистрации пользователей на PHP+MySQL
1.
Создаем форму регистрации:
<table>
<form action="reg.php" method="POST">
<tr>
<td>Имя</td>
<td><input type="text" name="login" ></td>
</tr>
<tr>
<td>Пароль</td>
<td><input type="password" name="password" ></td>
</tr>
<tr>
<td>Повторите пароль</td>
<td><input type="password" name="password2"></td>
</tr>
<tr>
<td>Email</td>
<td><input type="text" name="email"></td>
</tr>
<tr>
<td colspan="2"><input type="submit" value="OK" name="submit" ></td>
</tr>
</form>
</table>
2.
Создаем SQL-запрос к базе данных:
CREATE TABLE `users` (
`id` INT( 255 ) NOT NULL AUTO_INCREMENT ,
`login` VARCHAR( 255 ) NOT NULL ,
`password` VARCHAR( 255 ) NOT NULL ,
`email` VARCHAR( 255 ) NOT NULL ,
PRIMARY KEY ( `id` )
);
3.
Дальше создаем файл
connect.php
для подключения к нашей базе:
<?php
$dblocation = "localhost";
$dbname = "имя базы данных";
$dbuser = "имя пользователя базы данных";
$dbpasswd = "пароль к базе выбранного пользователя";
$dbcnx = @mysql_connect($dblocation,$dbuser,$dbpasswd);
if (!$dbcnx)
{
echo( "<P> В настоящий момент сервер базы данных не доступен, поэтому корректное отображение страницы невозможно. </P>" );
exit();
}
if (!@mysql_select_db($dbname, $dbcnx))
{
echo( "<P> В настоящий момент база данных не доступна, поэтому корректное отображение страницы невозможно. .</P>" );
exit();
}
?>
4.
Создадим основной файл нашего скрипта -
reg.php
, который и будет осуществлять саму регистрацию:
<?
include_once("connect.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'];
$query = "SELECT `id`
FROM `users`
WHERE `login`='{$login}' AND `password`='{$password}'
";
$sql = mysql_query($query) or die(mysql_error());
if (mysql_num_rows($sql) > 0)
{
echo 'Такой логин уже существует';
}
else
{
$login=mysql_real_escape_string($login);
$password=mysql_real_escape_string($password);
$email=mysql_real_escape_string($email);
$query = "INSERT INTO users(login , password , email )
VALUES ('$login', '$password', '$email')";
$result = mysql_query($query) or die(mysql_error());;
echo 'Регистрация успешно прошла';
}
}
}
?>
Вот впринципе и все, основное что нам нужно будет сделать после создания всех файлов, так это прописать свои параметры в файле
connect.php
:
$dblocation
- имя хоста, на котором находится база данных.
$dbname
- имя выбранной базы данных.
$dbuser
- имя пользователя базы данных.
$dbpasswd
- пароль к базе выбранного пользователя.
=========
II.
Простой скрипт авторизации пользователей на PHP+MySQL
1.
Опять же, начнем с создания формы авторизации:
<table>
<form action="avt.php" method="POST">
<tr>
<td>Имя</td>
<td><input type="text" name="login"></td>
</tr>
<tr>
<td>Пароль</td>
<td><input type="password" name="password"></td>
</tr>
<tr>
<td colspan="2"> <input type="submit" value="OK" name="
auth_submit
"></td>
</tr>
</form>
</table>
Ниже повторяется два шага что и при создании форумы регистрации, так как регистрация и авторизация пользователей должны быть взаимосвязаны, если Вы уже делали запрос в базу данных и создавали файл подключения к базе данных, то смело можно пропускать эти два шага описанных ниже:
2.
Используем уже готовую таблицу в базе, которую создавали когда писали форму регистрации (выше) или создаем такую же таблицу, тем же SQL-запросом к базе данных, если не делали форуму регистрации:
CREATE TABLE `users` (
`id` INT( 255 ) NOT NULL AUTO_INCREMENT ,
`login` VARCHAR( 255 ) NOT NULL ,
`password` VARCHAR( 255 ) NOT NULL ,
`email` VARCHAR( 255 ) NOT NULL ,
PRIMARY KEY ( `id` )
);
3.
Дальше создаем, если еще не создавали файл
connect.php
для подключения к нашей базе:
<?php
$dblocation = "localhost";
$dbname = "имя базы данных";
$dbuser = "имя пользователя базы данных";
$dbpasswd = "пароль к базе выбранного пользователя";
$dbcnx = @mysql_connect($dblocation,$dbuser,$dbpasswd);
if (!$dbcnx)
{
echo( "<P> В настоящий момент сервер базы данных не доступен, поэтому корректное отображение страницы невозможно. </P>" );
exit();
}
if (!@mysql_select_db($dbname, $dbcnx))
{
echo( "<P> В настоящий момент база данных не доступна, поэтому корректное отображение страницы невозможно. .</P>" );
exit();
}
?>
4.
Ну и создаем наш основной файл авторизации, обзовем его например -
avt.php
и вставим в него следующий код:
<?php
include_once("connect.php");
if(isset($_POST['auth_submit']))
{
$login = $_POST['login'];
$password = $_POST['password'];
$login=mysql_real_escape_string($login);
$password=mysql_real_escape_string($password);
$query = "SELECT id, login, password
FROM users
WHERE login ='{$login}' AND password='{$password}'
LIMIT 1";
$sql = mysql_query($query) or die(mysql_error());
if (mysql_num_rows($sql) == 1)
echo 'Авторизация прошла успешно';
else
echo 'Неправильное имя или пароль';
}
?>
PS Вот мы и авторизовались )))
Отредактировано admiral -
01.03.2014
16
ROM710
@ROM710
27.02.2014
Здравствуй admiral , поробовал Вашу регистрацию, работает хорошо. Авторизация почему то сразу открывает страницу без пароля и логина. Показывает и conned.php и avt.php, в чем причина подскажите пожалуйста. Всего доброго.
6600
Александр
@admiral
01.03.2014
для авторизации имя поля нужно задать
auth_submit
, исправил в скрипте авторизации
name="
submit
"
заменить на:
name="
auth_submit
"
16
ROM710
@ROM710
10.03.2014
Спасибо admiral , сейчас работает. Теперь не получается связать с той страницей сайта которой предназначалась регистрация. Как ей прописать ?