Forum Webscript.Ru
Программирование => PHP => Тема начата: Terion от 20 Октября 2006, 19:49:22
-
Как я понял, при открытии дочернего окна сессия сохраняется, но вот какая проблема. У меня при открытии нового браузера происходит авто авторизация, как будто я уже авторизовался. Даже если закрыть все окна и открыть заново, то так же не требуется авторизация. Авторизация пропадает только по таймауту или через session_destroy();
В чем может быть проблема и если это нормально, то как это устранить.
-
используем поиск, так как много тем было.
-
Я знаю, что было. И если заметили предыдущий мой пост был в топике за 2004г. что говорит о том что я прежде чем что-то спрашивать прошелся по поиску, но увы на свой вопрос я ответа не нашел. код авторизации я взял по примеру поста за 2004 год, возможно там были ошибки. Если нужно покажу код. Буду признателен за ответ или ссылку на ответ.
-
Terion
Описанное поведение в общем случае нормально.
Уничтожать по destroy - вариант ничем не хуже других.
-
А можно, как нибудь определить, что сессия принадлежит другому окну браузера, не "материнскому", чтобы не позволять пользоваться не закрытой сессией из другого окна?
-
И еще один вопрос, как сделать чтобы разрушение сессии отражалось только на конкретной сессии, а не разрушало все сессии.
т.е. у меня на одном домене 2 вертуальных сервера, авторизацию произвожу отдельно на каждом, все работает ок. а если нужно выйти на одном, то автоматически исчезает сессия и на другом, как привязать session_destroy(); к конкретному id ?
-
Terion
Terion:
сессия принадлежит другому окну браузера
Никак.
Terion:
привязать session_destroy(); к конкретному id
Незачем. Можно и не дестроить сессий, а просто для выхода в сессии ставить в ней некий идентификатор. Или снимать. И все разделения спокойно производить на уровне логики скрипта.
-
Можно ли, определить какие переменные сессии преданлежат к конкретной сессии?
Т.е. print_r($_SESSION) выводит строку
Array ( [username] => terion1 [name] => terion )
причем username принадлежит одной сесии(авторизация на одной странице), а name другой(авторизация на другой странице), как вывести переменные конкретной id сессии?
-
Как перевести в верхний регистр значение переменной?
т.к. mysql чувствительна к регистру, то я вижу единственный выход производить поиск по типу
SELECT * FROM a_posit WHERE upper(field) LIKE \'%".$text."%\'
но для этого нужно и значение переменной $text перевести в верхний регистр... Как это сделать?
Разобрался, кому интересно strtoupper($text)
-
Terion
Сессия работы пользователя со скриптами одного и того же интерпретатора в одном домене в одном и том же браузере будет одна, независимо от того, какой именно скрипт его авторизовал.
-
Прошу прощение, я может что-то не понимаю... у меня разные браузеры, т.е. открыты два отдельных окна браузера. В этом случае сессия тоже будет одна?
-
Terion
Два отдельных окна одного браузера? :)