A kid from The Ural's
Идея такова:
при каждом лог ине пользователя, его сессия и ник сохраняется в базе данных на 10 минут, после удаляется
читать дальше

Проблема у меня в следующем, данные о сессии почему-не сохраняются в базе данных user_online
Помогите пожалуйста разобраться

@темы: MySQL, PHP

Комментарии
23.06.2008 в 17:40

Всё будет Кока-Кола.
Тыдыщ. Сейчас попробую разобраться.

Запустить не могу, нет кучи файлов, а мейкать таблицы лень. Вероятно проблема в
$sql1="INSERT IGNORE INTO $tbl_name(session, time, nick)VALUES('$session', '$time', '$kto')"; - $kto строка

P.S. Я так понимаю этот код - есть некий ПРИМЕР авторизации? Я бы не советовал использовать его в практических целях...
P.P.S. Если нужно смотреть кто в онлайне, то лучше генерить таблицу с IP пользователей. Будет показывать и количество гостей.
23.06.2008 в 19:46

Sanctus Satanas
Oh mein Gott, где вы этот код нашли? o_O Он просто ужасен; а первоначальный автор явно ничего не понимает ни в вопросах безопасности, ни в программировании вообще, ни в PHP с SQL в частности...
Код после exit(), кстати, выполняться никогда не будет.
В общем, это лучше написать заново самостоятельно. Как у вас вообще идёт авторизация? Сессиями?
23.06.2008 в 20:57

Всё будет Кока-Кола.
--==SS==-- ну как пример он вполне может использоваться... однако некоторые моменты остаются для меня в тумане, например, зачем хранить идентификатор сессии в таблице.

P.S. А passward - это для запутывания хакеров. =)
23.06.2008 в 23:28

Sanctus Satanas
Волчонок Джей
Это ж каким тупым должен быть хакер, чтобы не посмотреть HTML и найти там это «passward»? ))) Вывод пользователю mysql_error() тоже первоклассная защита, особенно после того, как ник экранируется, а на «пассвард» забивают болт. )) mysql_close() вызывать попросту незачем. Сравнение с 1 в if — ламерство. Вызывать два раза подряд time() — тоже ламерство (учитывая, что его в одном случае сначала пихают в переменную, а в другом — прямо в выражение). Сравнение результата mysql_num_rows() со строкой "0" это и так 3.14здец, но сравнивать это в операторе if — 3.14здец полный.
Резюмируя: такой пример годится только для помутнения рассудка.

Расширенная форма

Редактировать

Подписаться на новые комментарии
Получать уведомления о новых комментариях на E-mail