Автор Тема: Про сессии  (Прочитано 4909 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Sniper

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 86
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.40000.ru
Про сессии
« : 09 Ноября 2004, 16:44:13 »
тема такая.
делаю регистрацию пользователей.
Происходит все так: при после отправки формы регистрируется сессия, в нее записывается $uid (номер сессии) и $valid_user ("1").
Мне надо, чтобы при попытке повторно зарегистрироваться переменные сессии "забывались" (не удалялись), а вместо этих, заводилась бы новая сессия с новыми переменными.

Делаю так:

session_start
();
session_unregister("valid_user""uid");
session_destroy();
unset(
$valid_user$uid);
session_start();
$id session_id();
session_register("valid_user""uid");
$valid_user 1;
$uid $id;


Все отрабатывает как надо, только в том случае, если я после первой регистрации закрыл Эксплорер.
А если нет - то прежняя сессия остается, а новая не стартуется.
Пока играет музыка - танцуй...

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Про сессии
« Ответ #1 : 09 Ноября 2004, 18:02:56 »
Цитировать
Sniper:
в нее записывается $uid (номер сессии)

зачем?
Цитировать
Sniper:
переменные сессии "забывались" (не удалялись), а вместо этих, заводилась бы новая сессия с новыми переменными.

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

Зачем такие извращения?
почему бы просто не записать новое имя в сессию?

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Про сессии
« Ответ #2 : 09 Ноября 2004, 18:10:29 »
то есть, проблемы твои - от неправильного алгоритма.
а то, что ты пользуешься устаревшей функцией, не умея при этом - это уже только усугубляет твои проблемыю

Оффлайн Sniper

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 86
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.40000.ru
Про сессии
« Ответ #3 : 09 Ноября 2004, 20:11:36 »
Цитировать
то есть, проблемы твои - от неправильного алгоритма.
а то, что ты пользуешься устаревшей функцией, не умея при этом - это уже только усугубляет твои проблемыю


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

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Про сессии
« Ответ #4 : 10 Ноября 2004, 00:03:06 »
сессия не может удалиться.
Сессия - это сеанс работы с сайтом.
Постарайся выражаться более внятно.
Пока у тебя звучит так: "я стартую сессию, и пишу сессию в сессию."

А на счет алогоритма ты ох, как неправ...
Алогоритмы не любят такого отношения. И жестоко тебе отомстят

Оффлайн Sniper

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 86
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.40000.ru
Про сессии
« Ответ #5 : 10 Ноября 2004, 10:30:14 »
попробую выразиться подругому.
Мне нужно изменить идентификатор сессии.
Пока играет музыка - танцуй...

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Про сессии
« Ответ #6 : 10 Ноября 2004, 13:13:27 »
Попробую повторить еще раз - тебе это не нужно.
=)

Оффлайн Sniper

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 86
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.40000.ru
Про сессии
« Ответ #7 : 10 Ноября 2004, 14:15:33 »
ты прав на счет алгоритма.
а как сделать так, чтобы при запушенной сессии запускалась еще одна.
Стуация такая: зарегистрированный пользователь, которому запущена сессия пытается зарегистрироваться еще раз с другим именем и т.д.
я пробовал так:

session_start
();
session_unregister("valid_user""nick");
session_destroy();
session_start();
session_register("valid_user""nick");


И нифига! Новая сессия не стартуется.
Все пишется в уже открытую
Пока играет музыка - танцуй...

Оффлайн Алексей

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 176
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Про сессии
« Ответ #8 : 10 Ноября 2004, 14:30:51 »
надо так:


session_start
(); 
unset(
$_SESSION[\'valid_user\']);
$_SESSION = array(); //что есть SESSION знаешь?
session_destroy(); 
session_start(); 
$_SESSION[\'valid_user\'] = \'nick\';


Мало того, как Ромик говорит, алгоритм кривой, так ещё и учишся по устаревшему метериалу.
FAQ: Session

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Про сессии
« Ответ #9 : 10 Ноября 2004, 17:33:59 »
Цитировать
Sniper:
а как сделать так, чтобы при запушенной сессии запускалась еще одна.

господи, ну и бред.
ну когда ж вы поймете, что такое сессия?
Какая "еще одна"? Куда тебе больше одной?
Цитировать
Алексей:
Стуация такая: зарегистрированный пользователь, которому запущена сессия пытается зарегистрироваться еще раз с другим именем и т.д.

Ну и какая проблема записать в сессию новое имя?
НЕ СТАРТОВАТЬ НОВУЮ сессию.
НЕ РЕГИСТРИРОВАТЬ НОВУЮ переменную.
А просто присвоить существующей переменной в существующей сессии другое значегие?

Алексей
твои телодвижения тоже весьма туманны.

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28