|
|
|
(PHP) Как определить, что куки браузер не отправляет?
|
|||
|---|---|---|---|
|
#18+
Это нужно затем, чтобы такая строка: Header("Lacation: ..."); Невызывала создание новой сессиии Т.е. чтобы можно было использовать следующую конструкцию: if (<Куки не отсылаются>) { Header("Lacation: ...".session_name()."=".session_id()); } else { Header("Lacation: ..."); } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2005, 13:49 |
|
||
|
(PHP) Как определить, что куки браузер не отправляет?
|
|||
|---|---|---|---|
|
#18+
Ничего определять не надо вообще. Почему не будет создана новая сессия, написано в PHP FAQ: Сессии. Подробное описание работы и объяснение механизма. И вообще конструкцию session_name().'='.session_id() лично я бы заменил на SID ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2005, 13:58 |
|
||
|
(PHP) Как определить, что куки браузер не отправляет?
|
|||
|---|---|---|---|
|
#18+
*Ничего определять не надо вообще. Почему не будет создана новая сессия, написано в PHP FAQ: Сессии. Подробное описание работы и объяснение механизма. И вообще конструкцию session_name().'='.session_id() лично я бы заменил на SID А я говорю - будет. Объясняю подробней. Есть файл с формой. Форма отсылается в этот же файл. При обработке полученных данных происходит перезагрузка файла с помощью отсылки заголовка. И так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. Так вот, если куки не отправляются, то $_SESSION['text'] не будет выводиться. Но стоит поменять header("Location: ".$_SERVER['PHP_SELF']); на header("Location: ".$_SERVER['PHP_SELF']."?".session_name()."=".session_id()); то все начинает работать, т.к. id сессии передается. Но при этом к строке адреса будет всегда добавляться id сессии, даже если куки работают. Как от этого избавиться? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2005, 19:01 |
|
||
|
(PHP) Как определить, что куки браузер не отправляет?
|
|||
|---|---|---|---|
|
#18+
AlexGТак вот, если куки не отправляются ... Но стоит поменять header("Location: ".$_SERVER['PHP_SELF']); на header("Location: ".$_SERVER['PHP_SELF']."?".session_name()."=".session_id()); то все начинает работать, т.к. id сессии передается. Но при этом к строке адреса будет всегда добавляться id сессии, даже если куки работают. Как от этого избавиться?Вы русским языком вообще как, владеете? Я вам выше уже сказал, что для этого нужно сделать. http://php.net/session#session.constants ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2005, 19:10 |
|
||
|
(PHP) Как определить, что куки браузер не отправляет?
|
|||
|---|---|---|---|
|
#18+
*Вы русским языком вообще как, владеете? Наверно нет, английским лучше. Понял. Но возник другой вопрос, а точнее спрашиваю оценки. У меня в адресе при такой строке в скрипте Код: plaintext Код: plaintext У меня такое решение возникло: Код: plaintext 1. 2. 3. 4. 5. Так нормально будет или есть более правильные решения? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2005, 09:51 |
|
||
|
(PHP) Как определить, что куки браузер не отправляет?
|
|||
|---|---|---|---|
|
#18+
Нормально. Правда смысла "более правильное решение" я не понял - смысл то всё равно остаётся один и тот же. Можно, конечно, извернуться и воспользоватсья тернарным оператором Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2005, 10:00 |
|
||
|
|

start [/forum/topic.php?fid=23&fpage=472&tid=1478185]: |
0ms |
get settings: |
10ms |
get forum list: |
18ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
316ms |
get topic data: |
15ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
| others: | 238ms |
| total: | 660ms |

| 0 / 0 |
