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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> удаление сессии и как с эти бороться 
:(
    Опции темы
Sniper
Дата 19.7.2008, 20:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



проблема такая.

Мои скрипты могут стоять без действия сутками, т.е человек вечером поработал с сайтом  и оставил компьютер включённым на нём [на сайте] - пришёл утром и продолжил работу (его сессия не должна удалиться)

но как известно через 24 минуты простоя "мусоросборщик" вычищает просроченные сессии рандомно с вероятностью 1%

как сделать чтобы данные сессии не удалялись по крайней мере неделю? Может как-то через cookie? или сессиями можно обойтись?

Это сообщение отредактировал(а) Sniper - 19.7.2008, 20:17


--------------------
"Я испытываю отвращение к системе, разработаннной для "пользователя", если в слове "пользователь" закодировано уничижительное значение "тупой и примитивный".
Кен Томпсон, создатель Unix
PM MAIL   Вверх
Feldmarschall
Дата 19.7.2008, 20:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


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

Репутация: 22
Всего: 32



Это противоречит принципу работы сессий.
Что у тебя такого важного в сессии хранится, что нельзя записать туда заново?
PM   Вверх
Sniper
Дата 19.7.2008, 20:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата

Что у тебя такого важного в сессии хранится, что нельзя записать туда заново?

всё как у всех IP адрес и логин пользователя
Цитата


что нельзя записать туда заново?


вот тут не понятно, как перезаписать?

Это сообщение отредактировал(а) Sniper - 19.7.2008, 20:21


--------------------
"Я испытываю отвращение к системе, разработаннной для "пользователя", если в слове "пользователь" закодировано уничижительное значение "тупой и примитивный".
Кен Томпсон, создатель Unix
PM MAIL   Вверх
Feldmarschall
Дата 19.7.2008, 20:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


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

Репутация: 22
Всего: 32



И всего-то?  И ты думаешь, что если тебя этот форум запомнил то это он сессию на год растянул?
автологин куками делается, а не сессиями
PM   Вверх
Sniper
Дата 19.7.2008, 21:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(Feldmarschall @  19.7.2008,  17:54 Найти цитируемый пост)
автологин куками делается, а не сессиями 

а как?


--------------------
"Я испытываю отвращение к системе, разработаннной для "пользователя", если в слове "пользователь" закодировано уничижительное значение "тупой и примитивный".
Кен Томпсон, создатель Unix
PM MAIL   Вверх
Feldmarschall
Дата 19.7.2008, 21:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


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

Репутация: 22
Всего: 32



осподи.
да посмотри в любом поисковике "PHP автологин"
ставишь куку. уникальную для юзера. если пришла - логин и пароль вводить не надо.
что непонятного-то?
PM   Вверх
Sniper
Дата 19.7.2008, 22:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



т.е надо сессии удалить и переделать всё на куки?


--------------------
"Я испытываю отвращение к системе, разработаннной для "пользователя", если в слове "пользователь" закодировано уничижительное значение "тупой и примитивный".
Кен Томпсон, создатель Unix
PM MAIL   Вверх
Feldmarschall
Дата 19.7.2008, 22:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


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

Репутация: 22
Всего: 32



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

PM   Вверх
Sniper
Дата 19.7.2008, 22:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата

авторизация делается сессиями.
автологин - куками

какова последовательность действий всего этого? 

1. создаём сессию
2. записываем логин в сессию
3. создаём куку
4. записываем логин пароль в куку (шифруем)

Теперь сессия перестала существовать. что тогда делать?
заново создавать сессию? из куки записывать в сессию данные?


Это сообщение отредактировал(а) Sniper - 19.7.2008, 22:43


--------------------
"Я испытываю отвращение к системе, разработаннной для "пользователя", если в слове "пользователь" закодировано уничижительное значение "тупой и примитивный".
Кен Томпсон, создатель Unix
PM MAIL   Вверх
Feldmarschall
Дата 19.7.2008, 22:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


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

Репутация: 22
Всего: 32



1. просим логин, пароль и галочку "запомнить меня", как это проиходит на этом форуме и на миллионах других сайтов, некоторые из которых ты, может быть, как я очень надеюсь, видел.
2. проверяем логин и пароль. если правильные, то
3. стартуем сессию.
4. проверяем галочку, и если нажата, то ставим уникальную куку.
а дальше -
0. проверяем куку, и, если есть, то не просим п.1 и не делаем п.2, а сразу п.3

PM   Вверх
Sniper
Дата 19.7.2008, 22:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



если выйти с сайта, то да так и будет. А если я нахожусь на какойто странице, я афк, прошли 24 минуты я вернулся, тыкаю на какую-то кнопку на этой странице, а всё, сессии нет уже, что тогда? по нажатию кнопки стартовать сессию? а так нельзя "заголовки уже отправлены" ;-). что то я пока не понимаю ;-(

Это сообщение отредактировал(а) Sniper - 19.7.2008, 22:58


--------------------
"Я испытываю отвращение к системе, разработаннной для "пользователя", если в слове "пользователь" закодировано уничижительное значение "тупой и примитивный".
Кен Томпсон, создатель Unix
PM MAIL   Вверх
Feldmarschall
Дата 19.7.2008, 23:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


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

Репутация: 22
Всего: 32



Цитата(Sniper @  19.7.2008,  22:57 Найти цитируемый пост)
"заголовки уже отправлены"

С какой стати? 

Какая разница "находишься ты на странице и вернулся" или "выйти с сайта а потом зайти"? Что вообще такое "нахожусь на странице"?
Тебя, похоже, надо послать популярную ссылку на танке почитать.

Это сообщение отредактировал(а) Feldmarschall - 19.7.2008, 23:07
PM   Вверх
Sniper
Дата 19.7.2008, 23:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



сейчас страницы выглядят примерно так:

somepage.php
Код

<?php
session_start();
<div>
<span>$_SESSION['id_user'];</span></div>

if (isset($_POST['actionbutton'])) { //исключительно в целях демонстрации ;-)
  print $_SESSION['id_user'];
}

<form action="" method="post">
<input type="submit" value="submit" name="actionbutton"/>
</form>
?>


вот у меня в браузере эта страница http://mymegasuperhost.ru/somepage.php (я нахожусь на странице somepage.php]) сессия активна и всё хорошо. можно кликать на кнопку и мы увидим логин пользователя.

Если сессия удалилась(прошли 24 минуты) а я нажал на кнопку Submit, то я получаю кучу ошибок, потому что $_SESSION['id_user'] то уже нету.


Так вот вопрос: что делать когда на кнопку нажали, а сессии уже нет?

Это сообщение отредактировал(а) Sniper - 19.7.2008, 23:15


--------------------
"Я испытываю отвращение к системе, разработаннной для "пользователя", если в слове "пользователь" закодировано уничижительное значение "тупой и примитивный".
Кен Томпсон, создатель Unix
PM MAIL   Вверх
Feldmarschall
Дата 19.7.2008, 23:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


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

Репутация: 22
Всего: 32



Я даже затрудняюсь, что на это ответить.

Ну, чтобы не было ошибок, надо, наверное, проверять.
Если юзер залогинен, то выводить $_SESSION['id_user']. а если не залогинен - то не выводить.
Тогда и ошибок не будет.

Цитата(Sniper @  19.7.2008,  23:11 Найти цитируемый пост)
что делать когда на кнопку нажали, а сессии уже нет?

а что сделать, когда с сайта ушли, и назад пришли - ты знаешь? Вот и сделай то же самое.

Это сообщение отредактировал(а) Feldmarschall - 19.7.2008, 23:20
PM   Вверх
Sniper
Дата 19.7.2008, 23:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата
Если юзер залогинен, то выводить $_SESSION['id_user']. а если не залогинен - то не выводить.
Тогда и ошибок не будет.


здорово конечно, но так не пойдёт ;-) 

Код

if (isset($_POST['actionbutton'])) {
  echo "тут выводим нужный текст";
//тут проверили куки допустим (хотя это жесть проверять куки на каждой такой кнопке)
//стартуем сессию
  session_start(); //я не могу написать так как на печать было выведено выше
// читаем куки и присваиваем сессии значения этих куки
}



--------------------
"Я испытываю отвращение к системе, разработаннной для "пользователя", если в слове "пользователь" закодировано уничижительное значение "тупой и примитивный".
Кен Томпсон, создатель Unix
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "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.0808 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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