- Подробности
-
Категория: PHP. Поиск. Авторизация
Нашел самой простой вариант, код рабочий работет на одном файле, с сайта моего надо убирать лишние цифры, виднее из его источник http://blog.ox2.ru/php/avtorizaciya-i-rabota-sessii/
При разработке интернет магазинов практически всегда требуется авторизация. Например, для входа в личный кабинет пользователя, или систему управления интернет-магазином.
Форма авторизации обычно состоит из двух текстовых полей (Логин и пароль) и кнопки Войти. Сейчас при создании в интернет-магазинах личного кабинета, набирает моду установка полей Телефон и Имя, или Имя и email, и другие комбинации. Но советуем так ни когда не делать, т.к. Имя можно написать по-разному, телефон тоже (84952322323 или 232-23-23).
PHP сессии
В этом уроке вы познакомитесь с правильной работой с сессиями на PHP.
Сессии нужны для сохранения определенной информации на стороне браузера. Практически тоже самое что и переменные, отличается только тем, что переменные при переходе на другую страницу сайта, или при обновлении текущей страницы теряют свои значения, а данные записанные в сессии сохраняются, и доступны на любых страницах сайта.
Например, на странице http://ox2.ru/index.php мы записали в сессию 'session_test' значение '123'. На странице http://ox2.ru/shop.php мы можем прочитать сессию session_test, и получить значение 123.
Для работы с сессиями на php нужно на каждой странице где будет производиться работа с сессиями написать session_start(), в самом начале, до вывода любой информации на экран.
Для записи в сессии существует переменная $_SESSION.
Например, простой пример:
Файл index.php будет запись в сессию:
1
2
3
4
|
<?php
session_start();
$_SESSION [ "test" ] = "Сессия — тест" ;
?>
|
Файл session.php будет чтение сессии:
1
2
3
4
|
<?php
session_start();
echo $_SESSION [ 'test' ];
?>
|
Вот в этом простом примере показана работа с сессиями.
Создание авторизации на PHP
Сейчас мы создадим пример авторизации. Основную функцию будет выполнять класс AuthClass.
Вот код с пояснением:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
|
<?php
session_start();
class AuthClass {
private $_login = "demo" ;
private $_password = "www.ox2.ru" ;
public function isAuth() {
if (isset( $_SESSION [ "is_auth" ])) {
return $_SESSION [ "is_auth" ];
}
else return false;
}
public function auth( $login , $passwors ) {
if ( $login == $this ->_login && $passwors == $this ->_password) {
$_SESSION [ "is_auth" ] = true;
$_SESSION [ "login" ] = $login ;
return true;
}
else {
$_SESSION [ "is_auth" ] = false;
return false;
}
}
public function getLogin() {
if ( $this ->isAuth()) {
return $_SESSION [ "login" ];
}
}
public function out() {
$_SESSION = array ();
session_destroy();
}
}
$auth = new AuthClass();
if (isset( $_POST [ "login" ]) && isset( $_POST [ "password" ])) {
if (! $auth ->auth( $_POST [ "login" ], $_POST [ "password" ])) {
echo "<h2 style=" color:red; ">Логин и пароль введен не правильно!</h2>" ;
}
}
if (isset( $_GET [ "is_exit" ])) {
if ( $_GET [ "is_exit" ] == 1) {
$auth ->out();
header( "Location: ?is_exit=0" );
}
}
?>
|
1
2
3
4
5
6
7
|
<?php
if ( $auth ->isAuth()) {
echo "Здравствуйте, " . $auth ->getLogin() ;
echo "<br/><br/><a href='?is_exit=1'>Выйти</a>" ;
}
else {
?>
|
1
2
3
4
5
6
7
|
< form method = "post" action = "" >
Логин: < input type = "text" name = "login"
value = "<?php echo (isset($_POST[" login"])) ? $_POST["login"] : null; // Заполняем поле по умолчанию ?>" />
< br />
Пароль: < input type = "password" name = "password" value = "" />< br />
< input type = "submit" value = "Войти" />
</ form >
|
Скачать исходник
Конечно это самый простой пример создание авторизации на php. Пароли и имена пользователей должны браться из базы данных, шифроваться в MD5, и т.д. Более сложные примеры создания авторизации будут в следующих статьях.
Сессии очень полезны не только при разработке интернет-магазинов, но и при создании сайтов.
Можно придумывать различные фишки, правда стоимость создания сайта может резко увеличиться. Но это того стоит, т.к. интересный и функциональный сайт привлечет к себе много клиентов и постоянных посетителей.
При разработке интернет магазинов практически всегда требуется авторизация. Например, для входа в личный кабинет пользователя, или систему управления интернет-магазином. Форма авторизации обычно состоит из двух текстовых полей (Логин и пароль) и кнопки Войти.
OX2 2014-10-05 2014-10-05