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

Поиск:

Закрытая темаСоздание новой темы Создание опроса
> сессия : хранить в БД или в файле, session_set_save_handler - это хорошо? 
V
    Опции темы
elferno
Дата 4.1.2010, 10:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



чтобы писать сессии в базу данных, используется функция : session_set_save_handler("open", ... )
function open($save_path,$si)
    {
    global $connect;
    
    $connect=mysql_pconnect('host','user','password');
    mysql_select_db('session_db_name',$connect);
    }

получается на каждый вызов session_start() будет происходить коннект к базе.

вопрос : может ли кто-то придумать, как сделать всего один коннект ( только первый раз )
PM MAIL   Вверх
elferno
Дата 4.1.2010, 12:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



ваше мнение
PM MAIL   Вверх
skyboy
Дата 4.1.2010, 12:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 14
Всего: 260



а какая необходимость класть разнородные по содержимому данные(сессию) в БД, с учетом жесткости структуры таблицы для хранения(sessid + name + value)?

Добавлено через 1 минуту и 56 секунд

M
skyboy
впредь не дублируй темы.
хочешь создать голосование - создавай. но не в отдельной теме.

Добавлено через 3 минуты и 57 секунд
Цитата(elferno @  4.1.2010,  09:51 Найти цитируемый пост)
получается на каждый вызов session_start() будет происходить коннект к базе.

у тебя же mysql_pconnect в коде. почему ты говоришь про "на каждый вызов session_start()"?
если же использовать "обычный" mysql_connect, то нет, без подключения к БД работать с БД не получится. и нет, подключение магическим образом между запросами никак не сохранить.
PM MAIL   Вверх
elferno
Дата 4.1.2010, 12:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(skyboy @ 4.1.2010,  10:11)
у тебя же mysql_pconnect в коде. почему ты говоришь про "на каждый вызов session_start()"?

одна страница может использовать 4 внешних скрипта, в которых делается session_start(), вот это и есть "каждый вызов".
PM MAIL   Вверх
Ипатьев
Дата 4.1.2010, 12:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 3
Всего: 37



что значит "4 внешних скрипта"? с какой стати они "внешние", если они по определению запускаются на том же сервере?
а если они внутренние, и включаются обычным инклюдом, то с какой стати в них делается session_start()?

по-моему, сначала надо как бы основы выучить, как стандартный механизм сессий работает. А потом уже городить свои собственные изобретения.
Вопрос файлы vs база имеет право на существование, но только не из таких неграмотных предпосылок.
PM MAIL   Вверх
elferno
Дата 4.1.2010, 12:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(Ипатьев @ 4.1.2010,  10:44)
что значит "4 внешних скрипта"? с какой стати они "внешние", если они по определению запускаются на том же сервере?

специально для начинающих разработчиков ( чтобы не задавали глупые  вопросы, не способствующие разрешению поставленного вопроса ) поясню : 
внешний скрипт, он же AJAX : Asincronic Javascript and Xml request
PM MAIL   Вверх
Ипатьев
Дата 4.1.2010, 13:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 3
Всего: 37



все ясно.
вам сюда: http://phpfaq.ru/na_tanke
когда уясните себе основы веб-программирования, и на основании полученных знаний ответите себе на вопрос, "можно ли сделать всего один коннект", тогда и продолжим.
PM MAIL   Вверх
elferno
Дата 4.1.2010, 13:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



вы не способны понять в чем состоит вопрос.
если нет конкретных предложений - не мешайте
PM MAIL   Вверх
Ипатьев
Дата 4.1.2010, 13:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 3
Всего: 37



к сожалению, на не имеющий смысла вопрос не бывает конкретного ответа. То есть, бывает, но он вам не понравится.

корень большинства проблем заключен в самомнении
рекомендую менее критически отноиться к другим людям. тем более, что описанных проблем у них не возникает  smile 

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

Наводящий вопрос. Почему речь зашла о "внешних скриптах" а не о других "страницах"? В чем между ними разница?


Это сообщение отредактировал(а) Ипатьев - 4.1.2010, 13:20
PM MAIL   Вверх
elferno
Дата 4.1.2010, 13:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



чтобы у вас не было сомнений :

1. я шесть лет каждый день только и занимаюсь программированием ( с утра до вечера ).
2. те проекты, которыми я занят уникальны, сложные и я сомневаюсь, что кто-то, кроме программистов google, yahoo, msn мог бы сталкиваться с моими проблемами, поэтому я не выкладываю здесь весь код, с комментариями и пояснениями, а формулирую узко направленный вопрос :

    а. в файле index.php делается session_start(), по описанной в первом посте технологии.
    b. затем, посредством AJAX подгружается скрипт ajax.php в котором тоже делается session_start().

задача в том, чтобы connect к базе делался единственный раз в index.php. как это реализовать?
вот простейший пример : через register_globals, т.е. описанная в первом посте функция open примет вид :

function open($save_path,$si)
    {
    if(!$_CONNECT)
        {
        $_CONNECT=mysql_pconnect('host','user','password');
        mysql_select_db('session_db_name',$_CONNECT);
        }
    }

но использовать register_globals не целесообразно из соображений безопасности, поэтому нужен альтернативный вариант


PM MAIL   Вверх
Ипатьев
Дата 4.1.2010, 13:38 (ссылка) |  (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 3
Всего: 37



ноу, как говорится, комментс.
сливай свет, туши воду.

причем я даже готов поверить в 6 лет. копи-паста.

уважаемый. вы это. попробуйте сделать с "register_globals". не насовсем, а просто в качестве теста.
после того, как не получится, попробуйте объяснить себе - почему. и при чем здесь register_globals вообще. 
PM MAIL   Вверх
elferno
Дата 4.1.2010, 13:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



почему я не люблю форумы? потому что здесь, люди, не имея ответа на поставленный вопрос, стараются доказать ( ... доказать кому? smile ) что сам вопрос не имеет смысла.
для себя они объясняют это так : "я - эксперт и профессионал, если я не знаю как ответить на какой-то вопрос, значит это вопрос не имеет смысла, также как не имеет смысла вопрос : ' каково семейное положение цифры 5? ' " ...

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

Это сообщение отредактировал(а) elferno - 4.1.2010, 13:44
PM MAIL   Вверх
Ипатьев
Дата 4.1.2010, 13:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 3
Всего: 37



Давайте не будем рассуждать о форумах и профессионализме.
лично я предпочитаю практику
вы попробуйте. сделать, как собирались, "через register_globals". а потом продолжим нашу увлекательную беседу smile
PM MAIL   Вверх
elferno
Дата 4.1.2010, 14:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



я не собираюсь делать через register_globals - это пример того, как могло бы это работать.

PM MAIL   Вверх
Ипатьев
Дата 4.1.2010, 14:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 3
Всего: 37



жаль, что сейчас праздники, и мало кто может разделить удовольствие от общения с вами smile

PM MAIL   Вверх
Закрытая темаСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Базы Данных | Следующая тема »


 




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


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

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