[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Аутентификация с помощью кук
Dimaz
Всем здарово! Есть такой код:
$sid = md5(uniqid(rand(), true));
if(!setCookie("name379", $sid, time() + 1800))
{
echo "Не могу установить куки!";
exit();
}
$rec = "INSERT INTO `users`
SET `user_sid` = '"
.$sid."'
"
;
$sql2 = mysql_query($rec) or die("Не могу выполнить запрос!");
echo "Вы успешно авторизированы!";
}

Сначала генирируем идентификатор сессии, затем пытаемся установить куки с этим идентификатором, если успешно устанавливаются, то заносим этот идентификатор еще и в базу данных. Только он заносится в отдельную строку, а как сделать так, чтобы он заносился в строку с пользователем, который авторизировался? И еще куки устанавливаются на 30 минут, что тогда записать в БД, чтобы узнать не вышел ли "срок годности" куки(ну людям же доверять нельзя, возьмут да изменят жизнь куки лет на 100 biggrin.gif)?



Спустя 18 часов, 58 минут, 1 секунда (28.02.2010 - 12:41) Dimaz написал(а):
Я пробовал писать INSERT WHERE но выводит ошибку, как написать, чтобы в таблицу регистрационных данных в строку с определенным человеком записалось?

Спустя 9 минут, 42 секунды (28.02.2010 - 12:50) FatCat написал(а):
Как пользователя идентифицируете? По логину или есть айдишники?
Вот их и подставляйте во WHERE

А еще лучше не теребить таблицу мемберов сессиями: это одна из важнейших таблиц, и чем реже в нее пишешь, тем реже она рассыпается.
Лучше сделать еще одну таблицу - сессий - в которой будут идентификатор сессии (уникальный), данные пользователя (логин, айдишник, айпишник, да хоть хеш пароля) и вспомогательная информация для статистики.
И по мере необходимости джойнить таблицы мемберов и сессий друг с другом.

Спустя 16 минут, 12 секунд (28.02.2010 - 13:07) аааааа написал(а):
не инсерт надо а
UPDATE таблица SET поле='значение' WHERE login='$login'

Спустя 16 минут, 8 секунд (28.02.2010 - 13:23) Dimaz написал(а):
Понятно, значит лучше таблицу отдельную создать для этого.
И за UPDATE спасибо! smile.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.