Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Авторизация, Какое наиболее оптимальное решение? 
V
    Опции темы
BobiKK
Дата 12.1.2006, 00:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 655
Регистрация: 1.12.2005
Где: Essen, Deutschlan d

Репутация: 4
Всего: 16



Сделал так:
Код

<?php
session_start();
$id_session = session_id();

include "config.php";

$query = "SELECT * FROM session WHERE id_session = '$id_session';";
$ses = mysql_query($query);
if (!$ses) exit(mysql_error());

    if(mysql_num_rows($ses) > 0)
    {
        $query = "UPDATE session SET putdate = NOW(), user = '$_SESSION[user]' WHERE id_session =         '$id_session';";
        mysql_query($query);
    }
    else
    {
        $query = "INSERT INTO session VALUES ('$id_session', NOW(), '$_SESSION[user]');";
        if (!mysql_query($query)) exit (mysql_error());
    }
}

$query = "DELETE FROM session WHERE putdate < NOW() - INTERVAL '20' MINUTE;";
mysql_query($query);
?> 


Таблица session была создана так:
CREATE TABLE `session`(
id_session TINYTEXT NOT NULL,
putdate DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
user TINYTEXT NOT NULL
) TYPE=MyISAM;

Вопрос - это нормальный вариант или нужно что-либо изменить?
PM MAIL   Вверх
Mal Hack
Дата 12.1.2006, 00:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



Цитата(BobiKK @ 12.1.2006, 00:15 Найти цитируемый пост)

, user = '$_SESSION[user]'

ИМХО, лишнее.
ЗЫ: ; в запросах, при исполнении их из PHP не нужны.

Безопасность - плохо smile
Вот сюда глянь:
http://vingrad.ru/PHP-ART-002849
http://vingrad.ru/PHP-ART-002847
PM ICQ   Вверх
BobiKK
Дата 12.1.2006, 00:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 655
Регистрация: 1.12.2005
Где: Essen, Deutschlan d

Репутация: 4
Всего: 16



Цитата(Mal Hack @ 12.1.2006, 00:25)

ИМХО, лишнее.

Разве лишнее? А если я хочу потом вывести список юзверей онлайн?

Цитата
ЗЫ: ; в запросах, при исполнении их из PHP не нужны.

И ";" не лишнее smile Сам сутки мучался, почему всегда выскакивало "SQL SYNTAX ERROR". Оказалось, всё дело именно в ";". Видимо, у хостинга свои причуды

А про безопасность спасибо, почиткаю.

З.Ы. Тьфу ты, ёлы палы, почему я никогда не читаю FAQ, мануалы и статьи? smile

Это сообщение отредактировал(а) BobiKK - 12.1.2006, 00:38
PM MAIL   Вверх
Mal Hack
Дата 12.1.2006, 00:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



Цитата(BobiKK @ 12.1.2006, 00:35 Найти цитируемый пост)

И ";" не лишнее smile Сам сутки мучался, почему всегда выскакивало "SQL SYNTAX ERROR". Оказалось, всё дело именно в ";". Видимо, у хостинга свои причуды

Быть того не может, вот честно, на 5 хостингах с ; у меня ничего не выполняется. Попробуй какой-ть тестовый скриптик аля SHOW TABLES запустить для проверки.
Цитата(BobiKK @ 12.1.2006, 00:35 Найти цитируемый пост)

З.Ы. Тьфу ты, ёлы палы, почему я никогда не читаю FAQ, мануалы и статьи? smile

Читайте, на винграде есть многое smile)
PM ICQ   Вверх
mr.fox
Дата 12.1.2006, 01:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 298
Регистрация: 13.3.2005
Где: Ирландия

Репутация: -1
Всего: 2



Цитата(Mal Hack @ 12.1.2006, 00:25 Найти цитируемый пост)

user = '$_SESSION[user]'

ИМХО, лишнее.

хм.. я бы не стал имя пользователя в массив сесий пихать..
зачем если это и так в базе храниться..
PM MAIL WWW ICQ   Вверх
BobiKK
Дата 12.1.2006, 18:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 655
Регистрация: 1.12.2005
Где: Essen, Deutschlan d

Репутация: 4
Всего: 16



А как тогда без этого вывести список всех заргестрированных пользователей, которые онлайн?
PM MAIL   Вверх
Mal Hack
Дата 12.1.2006, 20:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



BobiKK у тебя же хранится ID. Сделай выборку из двух таблиц.
Опять же: http://vingrad.ru/PHP-PHPSCRIPTS-002850
PM ICQ   Вверх
IZ@TOP
Дата 13.1.2006, 09:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 44
Всего: 73



Цитата(Mal Hack @ 12.1.2006, 01:42 Найти цитируемый пост)

Быть того не может, вот честно, на 5 хостингах с ; у меня ничего не выполняется. Попробуй какой-ть тестовый скриптик аля SHOW TABLES запустить для проверки.

На моем хостинге все прекрасно работает и с кавычками. А вот чего бы не помешало в РНР, это возможность одним mysql_query выполнить сразу несколько команд.


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
Mal Hack
Дата 13.1.2006, 14:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



Цитата(IZ@TOP @ 13.1.2006, 09:49 Найти цитируемый пост)

На моем хостинге все прекрасно работает и с кавычками.

Я про точку с запятой.
PM ICQ   Вверх
fara
Дата 15.1.2006, 17:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 166
Регистрация: 15.3.2004
Где: С.-Петербург

Репутация: 1
Всего: 2



PS: лучше в ассоциативных массивах обращаться к индексам так
$_SESSION['user'] а не $_SESSION[user]
--------------------
Крыша хлопает в ладоши -Спасибо всем за план хороший!
PM MAIL ICQ   Вверх
TIGERоX
Дата 19.1.2006, 01:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


начинающий...
*


Профиль
Группа: Участник
Сообщений: 59
Регистрация: 7.9.2005

Репутация: нет
Всего: 1



Интересно а как пишется список пользователей он-лайн неужто просто время куки или сессии меньше делают??(например в ibp) smile
PM MAIL   Вверх
Mal Hack
Дата 19.1.2006, 01:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



TIGERоX посмотри выше, я ссылку давал. Принцип такой, практически везде.
PM ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0580 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.