- Подробности
 
- 
Категория: 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