Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.11.2010, 08:04   #1
Che Guevara
Пользователь
 
Аватар для Che Guevara
 
Регистрация: 27.07.2010
Сообщений: 91
Вопрос Опять авторизация, но теперь сессии

День добрый. Взгляните пож. на мой скрипт авторизации. (работаю с ссессиями впервые). Правельно ли расставлена логика? Юзер попадает на www.mywebsite.com/admin.php -> там скрипт проверяет, если есть сессия, то показать панель управления, если нет то предложить ввести пароль. -> >юзер вводит пароль и скрипт отправляет на auth.php -> последний ищет по базе мускула есть ли такой пользователь и если есть, то создаёт сессию для него, если нет то редирект на admin.php без создания сессии.

PHP код:
<?php
//файл admin.php
session_start();
if (!
$_SESSION['permit'])
{
session_destroy();
echo 
"Введите пару логин-пароль!";
//здесь юзер авторизовывается через скрипт в файле auth.php
}
else
{
echo 
"Добро пожаловать, ".$_SESSION['name'];    
}
?>
PHP код:
<?php
//файл auth.php
//получаем данные о логине и пароле
//ищем по базе и если есть...
if(!mysql_num_rows($result)==0)
{
session_start();
$_SESSION['permit']="yes";
$_SESSION['name']=$result['name'];//передаём данные о имени пользователя из массива найденных юзеров
header("Location: admin.php");//перекидываем опять в файл admin.php
}
else 
//если нет такого юзера
{
header("Location: admin.php");    
}
?>
Che Guevara вне форума Ответить с цитированием
Старый 29.11.2010, 10:29   #2
pa6kevi4
Пользователь
 
Регистрация: 15.09.2009
Сообщений: 52
По умолчанию

PHP код:
я в начале делаю такую проверку:

if (empty(
$_SESSION['login']) or empty($_SESSION['id']))
{
    echo 
"<p align='center'>Привет, <em>Гость</em></p>";
    
    echo 
"
    //здесь форма логина и ссылка на форму регистрации
    "
;
}
else 
{
    
$login $_SESSION['login']; 
    echo 
"<p align='center'>Привет, <em>$login</em></p>";
    
    echo 
"
        //здесь кнопка Выйти
    "
;


Последний раз редактировалось pa6kevi4; 29.11.2010 в 10:32.
pa6kevi4 вне форума Ответить с цитированием
Старый 29.11.2010, 10:32   #3
Виталий Желтяков
Старожил
 
Аватар для Виталий Желтяков
 
Регистрация: 19.04.2010
Сообщений: 2,702
По умолчанию

А куки использовать не собираетесь?
Виталий Желтяков вне форума Ответить с цитированием
Старый 29.11.2010, 10:51   #4
Che Guevara
Пользователь
 
Аватар для Che Guevara
 
Регистрация: 27.07.2010
Сообщений: 91
Печаль

Цитата:
А куки использовать не собираетесь?
У юзера эта функция может быть отключена.
Che Guevara вне форума Ответить с цитированием
Старый 29.11.2010, 10:59   #5
Che Guevara
Пользователь
 
Аватар для Che Guevara
 
Регистрация: 27.07.2010
Сообщений: 91
По умолчанию

Цитата:
echo "
//здесь кнопка Выйти
";
кнопка выйти это session_destroy()?
Che Guevara вне форума Ответить с цитированием
Старый 29.11.2010, 12:55   #6
Виталий Желтяков
Старожил
 
Аватар для Виталий Желтяков
 
Регистрация: 19.04.2010
Сообщений: 2,702
По умолчанию

Цитата:
У юзера эта функция может быть отключена.
Это меньше 5% пользователей. Зато при помощи кук можно организовать автоматический вход в систему, что на много удобнее.
Цитата:
кнопка выйти это session_destroy()?
Да, но надо ещё сессионные куки через js почистить, иначе этот приём в FF не работает.
Виталий Желтяков вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Авторизация & сессии Linel PHP 7 15.07.2009 15:01
А теперь и смайлики ... DeKot Свободное общение 4 17.12.2008 17:28
И опять мэйлы.. Опять... Pusher PHP 6 28.06.2008 03:08
Опять сумма. Теперь при условии jungo Microsoft Office Excel 11 07.05.2008 09:38
Теперь по делу Drain Общие вопросы Delphi 1 07.02.2008 12:49