session_start только если это требуется

player

Новичок
session_start только если это требуется

Добрый день!

Как можно сделать так чтобы сессия начиналась скажем, при удачном логине...

А стандартом проверять, передана ли sessionID на текущую страницу, и стартовать сессию только если передана.. как можно узнать (желательно) без предварительного session_start(), имеет ли юзер уже свою sessionID или нет?
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
А чем не подошла ф-ция
[m]session_id[/m]
?
 

player

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

Mr_Max
для session_id нужно сначала запустить session_start()
и если session_id пустая, то опять session_destroy()
(если я правильно понял)

Неужели нету другого способа?
 

Фанат

oncle terrible
Команда форума
player
во-первых, phpfaq.ru
во-вторых, sessionID передается не божественными силами, в самыми обычными механизмами. проверить не составляет труда
 

das6745

Новичок
Апокалипсис
несовсем. можно извратится особым способом, добавив в куку флак какой-нить, если он есть - все ок, стартуем сессию сид которой хранится опять же в куках. в общем, у меня так работает =)
 

player

Новичок
*****
пробовал проверять $_REQUEST на наличие Session_name() но для этого тоже нужно сначала сделать session_start()
и как поступать с куками?

-~{}~ 12.11.07 15:18:

das6745
я хотел бы чтобы работало и без куков
 

Фанат

oncle terrible
Команда форума
короче, вы все запарили.
пошли все строем фак читать.

-~{}~ 12.11.07 17:22:

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

player

Новичок
Mr_Max
В самом деле?
session_id() needs to be called before session_start()
If id is specified, it will replace the current session id. session_id() needs to be called before session_start() for that purpose
- как я понимаю, если хочется применять "свои" названия сессии, то нужно вызвать session_id() до session_start()

-~{}~ 12.11.07 15:27:

*****
стартовать сессию при удачном, мля, логине.
это да.. но вопрос: стартовать ТОЛЬКО при удачном логине
 

Фанат

oncle terrible
Команда форума
стартовать, мля, ТОЛЬКО при удачном логине.
или у тебя проблемы с определением удачности логина?!
 

player

Новичок
Но я уже нашел решение проблемы.. проверить
if (isset($_REQUEST[session_name()]) && !empty($_REQUEST[session_name()])){
session_start();
}

- если сессия пришла куками, то хай врубается.. гугля куки отключает..

Если есть другие идеи, всегда пожалуйста

-~{}~ 12.11.07 15:32:

*****
стартовать, мля, ТОЛЬКО при удачном логине.
или у тебя проблемы с определением удачности логина?!
У меня проблема в том что не каждая страница - логин.. есть еще страницы где стоят буковки которые можно читать.. без логина. и там сессии не нада никаких. поэтому ТОЛЬКО при логине
 

Фанат

oncle terrible
Команда форума
это ты где такую гениальную конструкцию нашел, позволь полюбопытствовать?
в смысл её вникать не пробовал?
или, как все лемерьё этой страны, главное - готовый код надыбать?

-~{}~ 12.11.07 17:34:

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

-~{}~ 12.11.07 17:35:

если сессия пришла куками
с какой радости у тебя "сессия придет", если ты её не начинал?
 

player

Новичок
*****
уважаемый профи рнр кодер.. эта гениальная конструкция у меня стояла год назад.. но потом я заметил что она пропускает куки.. (и теперь я опять это вспомнил, и опять ищу решение задачи)
 

Фанат

oncle terrible
Команда форума
и что - за год ни разу не удосужился прочитать описание функции emply?

-~{}~ 12.11.07 17:40:

РАЗУМЕЕТСЯ, она будет пропускать куки. ДЛЯ ТОГО ОНА И СДЕЛАНА.
ОСНОВНОЙ способ передачи идентификатора - это куки. И механизм избирательного старта ДОЛЖЕН срабатывать на приход куки с идентификатором.
Или, как ты выражаешься, "пропускать куки". Которые будут приходить только в том случае, если ты сессию в этом сеансе начинал.
 

player

Новичок
ну да.. проверить, имеется ли такая переменная.. а empty проверяет, не пуста ли она (или нуль)..

-~{}~ 12.11.07 15:49:

ну теперь я думаю добавить еще

if ( (isset($_REQUEST[session_name()]) && !empty($_REQUEST[session_name()])) ||
(isset($_COOKIE[session_name()]) && !empty($_COOKIE[session_name()])) ){
 

Фанат

oncle terrible
Команда форума
читай её описание снова.

и поясни, какоие у тебя вопросы по поводу кук, "пропускаемых". если остались

-~{}~ 12.11.07 17:51:

О БОЖЕ.
ну чем, чем, каким местом вы, ребята, думаете?!!!

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

player

Новичок
упс.. сорри.. =)

значит нужно только empty?

-~{}~ 12.11.07 16:08:

И с
if (isset($_REQUEST[session_name()])){

не работает, и с
if (!empty($_REQUEST[session_name()])){

:)
 
Сверху