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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.09.2013, 10:39   #1
Tyoma5891
Пользователь
 
Регистрация: 16.08.2013
Сообщений: 54
По умолчанию Отмена повторной отправки формы

Добрый день!
У меня такая казалось бы тривиальная задача но никак не могу сообразить как сделать. У меня есть форма обычная постовская с авторизацией, так вот когда делаю POST выполняю действие, которая выполняет функция на входе которой массив $_POST (проверяет логин, ставит куку), и потом в теле самом этой функции делаю header ('Location: index.php') на главную.
И теперь сам вопрос на главной мне нужно проверить - залогинен ли пользователь и потом уже отображать то что мне надо., как мне сделать эту проверку не могу понять?
Еще если можно подскажите как грамотно делать функцию logout.

P.S Просьба в ответах способы на сессиях не предлагать...
Tyoma5891 вне форума Ответить с цитированием
Старый 20.09.2013, 11:21   #2
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от Tyoma5891 Посмотреть сообщение
P.S Просьба в ответах способы на сессиях не предлагать...
Можно узнать, почему нормальные способы решения этой задачи нельзя предлагать?
Andkorol вне форума Ответить с цитированием
Старый 20.09.2013, 11:49   #3
Tyoma5891
Пользователь
 
Регистрация: 16.08.2013
Сообщений: 54
По умолчанию

Цитата:
Сообщение от Andkorol Посмотреть сообщение
Можно узнать, почему нормальные способы решения этой задачи нельзя предлагать?
Хорошо предложите ваш вариант на сесиях, и если такой возможен без исользования их...
Tyoma5891 вне форума Ответить с цитированием
Старый 20.09.2013, 11:55   #4
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,160
По умолчанию

а вы покажите свой код авторизации...
ADSoft вне форума Ответить с цитированием
Старый 20.09.2013, 11:57   #5
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Сессии: http://phpfaq.ru/sessions#example

Basic HTTP: http://irbis-team.com/15/13/4
Andkorol вне форума Ответить с цитированием
Старый 20.09.2013, 12:21   #6
Tyoma5891
Пользователь
 
Регистрация: 16.08.2013
Сообщений: 54
По умолчанию

Цитата:
Сообщение от ADSoft Посмотреть сообщение
а вы покажите свой код авторизации...
PHP код:
function login($data)
{
    if(isset(
$data['submit']))
    {
        
$login mysql_real_escape_string($data['login']);
        
$query mysql_query("SELECT * FROM users WHERE user_login='$login' LIMIT 1");
        if (!
$query) return mysql_error();
        
$data1 mysql_fetch_assoc($query);
        if (
$data1['user_password'] == md5($data['pass'] . $data1['user_salt'] . GEN_SALT))
        {
            
$hash md5(mt_rand() . mt_rand() . mt_rand() . mt_rand(). mt_rand());
            
$query mysql_query("UPDATE users SET user_hash='".$hash."' WHERE user_id='".$data1['user_id']."'");
            if (!
$query) return mysql_error();
            
setcookie("hash"$hashtime()+60*60*24*30);//следить за уникальностью???
            
header ('Location: index.php');
        }
        else
        {
            return 
ERR_PASS_LOG;
        }
    }

Tyoma5891 вне форума Ответить с цитированием
Старый 27.09.2013, 18:19   #7
Pro100Dreamer
 
Аватар для Pro100Dreamer
 
Регистрация: 02.01.2011
Сообщений: 6
По умолчанию

НУ не сложно. Ты ведь записал в КУК хеш, и в БД.
Теперь смотришь на любой странице есть ли кук длинной 32 символа, и сравнивай его с записами пользователей в БД.
Разлогинится чтобы, запиши опять рандомный хеш в кук. А БД не тронь.
И вообще авторизация похожая на atome cms. Где ты его взял?
Pro100Dreamer вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запрет повторной авторизации на сайте -MagicAlex- PHP 9 22.10.2012 05:42
Доработка формы отправки сообщения на почтовый ящик Krapters PHP 3 01.04.2012 18:41
Удаление повторной информации из таблиц paratruper17 Microsoft Office Word 8 03.11.2009 10:31
имитация отправки формы.как реализовать? vett Работа с сетью в Delphi 3 08.03.2008 01:05
запрет повторной регистрации bllem PHP 12 27.11.2006 10:24