Warning: array_merge(): Argument #2 is not an array in /hsphere/local/home/magistr/codeismy.name/wp-content/plugins/wp-pagenavi/scb/Options.php on line 46

CMS своими руками. Регистрация и авторизация на MySQL

Дата: Апрель 15, 2009

(0) комментариев

Эта статья является продолжением статей про автоизацию и регистрацию. Воспользуемся частично материалом предидущей статьи http://codeismy.name/archives/604
для написания скрипта регистрации но уже с применением базы данных MySQL. Структуру базы и формы мы оставим неизменными

Создадим такую структуру файлов:
index.php главная страничка
reg.php страница регистрации
auth.php страница авторизации
user_db.db база с пользователями
Мы будем хранить минимальное количество данных которое вы сами сможете всегда расширить. Следующие поля будут присутствовать:
login логин
pass пароль
role права
name имя
info другая информация
Для этого выполним следующий запрос:

1
2
3
4
5
6
7
CREATE TABLE `users` (
`login` VARCHAR( 50 ) NOT NULL ,
`pass` VARCHAR( 16 ) NOT NULL ,
`role` VARCHAR( 25 ) NOT NULL ,
`name` VARCHAR( 100 ) NOT NULL ,
`info` TEXT NOT NULL
);

Формы авторизации и регистраци мы возьмём из предидущего примера:
Форма авторизации будет выглядеть так:

1
2
3
4
5
<form action=auth.php method=post>
<input type="text" name="login">
<input type="text" name="pass">
<input type="submit" value="Авторизироваться">
<a href=reg.php>Зарегис

Форма регистрации:

1
2
3
4
5
6
<form action="reg.php" method="post">
<input type="text" name="login"><br>
<input type="text" name="pass"><br>
<input type="text" name="name"><br>
<textarea name="info"></textarea>
<input type="submit" value="Зарегистрирова

Ну а теперь перейдём непосредственно к самим скриптам регистрации и авторизации.
для того, чтобы зарегистрировать пользователя сделаем вот такой вот простеький скриптик с выполнением запроса в базу даных:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
header("Content-type: text/html; charset=UTF-8 rn");
if(!isset($_POST['login']) and !isset($_POST['pass']) and !isset($_POST['name'])) {//проверяем обязательные параметры
echo '<form action="reg.php" method="post">
<input type="text" name="login"><br>
<input type="text" name="pass"><br>
<input type="text" name="name"><br>
<textarea name="info"></textarea>
<input type="submit" value="Зарегистрироваться">
</form>';
}
else {
//регистрируем пользователя
//проверяем есть ли такой пользователь уже в базе
//сначала подключаемся к базе данных
@mysql_connect("сервер","логин","пароль");
@mysql_select_db("база данных");
//ищем пользователя с паролем в базе
$query = "SELECT * FROM users WHERE login = '$_POST['login']'";
$result = mysql_query($query);
$array = mysql_fetch_assoc($result);
if(!epmpy($array['login'])) echo "такой по

Теперь сделаем по аналогу с предидущей статьёй авторизацию:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
header("Content-type: text/html; charset=UTF-8 rn");
if(!isset($_POST['login'])) echo '<form action=auth.php method=post>
<input type="text" name="login"><br>
<input type="text" name="pass"><br>
<input type="submit" value="Авторизироваться"><br>
<a href=reg.php>Зарегистрироваться</a>
</form>'; else {
//Проверим есть ли пользователь в базе
//сначала подключаемся к базе данных
@mysql_connect("сервер","логин","пароль");
@mysql_select_db("база данных");
//ищем пользователя с паролем в базе
$query = "SELECT * FROM users WHERE login = '$_POST['login']'";
$result = mysql_query($query);
$array = mysql_fetch_assoc($result);
if($array['login']==$_POST['login'] and md5($_PO

Ну и теперь самое главное, объединим всё вместе и индексная cтраничка будет выглядеть так:
index.php

1
2
3
4
5
6
7
8
9
<?php
if(isset($_COOKIE['login'])) { //проверяем был ли уже ранее авторизирован наш пользователь
//и если да, то выполним нужный нам код
$fp = file("user_db.db"); //считываем базу пользователей в массив
//ищем пользователя с паролем в базе
foreach($fp as $key=>$value) {
$user=explode("%1-1%",$value); //преобразуем строку в массив
if($_COOKIE['login']==$user[0] and $_COOKIE['pass']==$user[1]) {
$us="вы авторизиро
a

    Автор: Sergey




    Нет комментариев на "CMS своими руками. Регистрация и авторизация на MySQL"

    Нет комментариев.


    Вы можете продолжить обсуждение этой статьи на форуме


    Имя : 
    Почта : 
    Сайт : 
    Комментарий : 

    Проверка комментариев включена. Прежде чем Ваши комментарии будут опубликованы пройдет какое-то время.

    Создание сайта - Echo-group Раскрутка сайтов