pipulas
Посетитель
OLD SkripTers
- Регистрация
- 17 Дек 2019
- Сообщения
- 1,088
- Реакции
- 9
Всем привет, решил я сделать авторизацию на своем одном проекте, до этого делал уже простенькую.
Вот код:
Код в принципе работает, авторизует. Вопрос как правильно реализовать чтобы, авторизация сохранялась продолжительное время, месяц - два. А то она слетает после перезапуска браузера. И как вообще код реализован, правильно не правильно, писал сам, в php не гуру))
Вот код:
PHP:
<?php
session_start();
# Если на indexp.php поступили POST данные с логином и паролем :
if ( isset( $_POST['user_id'], $_POST['pass'] ) )
{
# Создаем соединение с базой данных :
$db = new SafeMySQL( $db_config );
# Ищем человека в базе данных :
$user = $db->getRow( 'SELECT * FROM users WHERE ok_id=?s', $_POST['user_id'] );
# Если находим такого в базе, то сверяем пароль :
if ( !empty( $user ) )
{
# Если пароль верный :
if ( $user['pass'] == $_POST['pass'] )
{
# Заноисм данные в сессию :
$_SESSION['auth'] = '1';
$_SESSION['user_id'] = $_POST['user_id'];
$_SESSION['auth_key'] = md5( $_POST['user_id'].'_'.$app_secret_key );
} else {
# Если пароль не верный, перекидываем на страницу с ошибкой :
require_once ('error.php');
exit();
}
} else {
# Если не находим такого в базе, перекидываем на страницу с ошибкой :
require_once ('error.php');
exit();
}
}
# Если на indexp.php поступили GET данные со значением logout (Выход) :
if ( isset( $_GET['logout'] ) )
{
# Очищаем массив сессии :
$_SESSION = array();
# Обновляем страницу :
header( 'Location: /' );
}
# Проверяем авторизован ли пользователь :
if ( !isset( $_SESSION['auth'] ) )
{
# Если не авторизован, то выводим форму авторизации :
require_once ('auth.php');
}
# Если пользователь авторизован :
if ( isset( $_SESSION['auth'] ) )
{
# Создаем соединение с базой данных :
$db = new SafeMySQL( $db_config );
# Ищем человека в базе данных :
$user = $db->getRow( 'SELECT * FROM users WHERE ok_id=?s', $_SESSION['user_id'] );
if ( $user['banned'] == '0' )
{
# Если не забанен, выводим главную страницу :
require_once ('main.php');
} else {
# Если забанен, говорим что пользователь заблокирован :
require_once ('banned.php');
}
}