Внимание! В связи с устареванием топика эта страница была взята из кэша.
|
Cibtor
Зарегистрирован: 26.02.03
Сообщения: 481
|
Добавлено: 29/08/04 в 00:48
|
|
Сессии в РНР(4.3.3) в ВиндовХР храняться или нет ? register_globals = on Переменные регистрирую session_register("peremen"); $peremen[]=1;$peremen[]=2; После перезагрузки страницы (через форму) выдает по isset($peremen), что переменная не определена.
|
K началу
|
|
|
mr.GOD
Зарегистрирован: 19.11.03
Сообщения: 676
|
Добавлено: 29/08/04 в 01:07
|
|
к форме советую привязывать PHPSESSID и не забывать писать session_start() .Если не поможет , то смотри свои настройки в пхп.ини.
|
K началу
|
|
|
Yras
Зарегистрирован: 27.02.03
Сообщения: 51
|
Добавлено: 29/08/04 в 01:54
|
|
пользуйся $_SESSION['varname']
и проверь в ини файле путь к временной директории
|
K началу
|
|
|
sAx
Зарегистрирован: 07.06.00
Сообщения: 2257
|
Добавлено: 29/08/04 в 07:36
|
|
Конечно хранятся. Во темп-директории. "register_globals = on" -- очень нехорошее решение с точки зрения безопасности. Слушай что Yras и mr.GOD говорят. Здесь подробно все расписано: http://www.php.net/manual/ru/printwn/ref.session.php
|
K началу
|
|
|
Cibtor
Зарегистрирован: 26.02.03
Сообщения: 481
|
Добавлено: 29/08/04 в 14:54
|
|
sAx писал: | register_globals = on -- очень нехорошее решение с точки зрения безопасности |
А что я могу поделать, если оно у хостера стоит.
mr.GOD писал: | к форме советую привязывать PHPSESSID |
Меня не интересует данные формы - в ней у меня передается один параметр 0 или 1, я просто хочу скинуть в масив сессии данные из mysql, что бы постоянно их не считывать из базы.
Yras писал: | пользуйся $_SESSION['varname'] |
Я не могу врубиться, как в $_SESSION['peremen'] создавать масив. А так все просто $peremen[]=1;$peremen[]=2; Может РНР их не создает - в папке tmp пусто. Она у меня прописана, как с:\Program files\php\tmp. Но при проверке, сразу после создания и заполнения данными, print_r($peremen) печатает масив. Попробую покопатся в php.ini. Намекните, на что смотреть.
|
K началу
|
|
|
sAx
Зарегистрирован: 07.06.00
Сообщения: 2257
|
Добавлено: 29/08/04 в 15:41
|
|
Почитай еще здесь: http://webmaster.pp.ru/php4/ref.session.html -- все подробно и на русском.
"... Я не могу врубиться, как в $_SESSION['peremen'] создавать масив... " Это ты так его принимать будешь. Т.е. в той части скрипта, где его читать надо. а записывать:
Код: | session_name("NAME"); session_start(); $peremen[]=1; $peremen[]=2; session_register('peremen'); |
читать соответственно:
Код: | session_name("NAME"); session_start(); $peremen = $_SESSION['peremen']; дальше как обычно.
|
|
K началу
|
|
|
Cibtor
Зарегистрирован: 26.02.03
Сообщения: 481
|
Добавлено: 30/08/04 в 23:26
|
|
Всем спасибо. Проблема оказалась в том, что я переменные сессии присваивал в функции и даже не мог подумать, что им тоже нужно давать global.
|
K началу
|
|
|
sAx
Зарегистрирован: 07.06.00
Сообщения: 2257
|
Добавлено: 31/08/04 в 04:41
|
|
Cibtor писал: | Всем спасибо. Проблема оказалась в том, что я переменные сессии присваивал в функции и даже не мог подумать, что им тоже нужно давать global. | нужно конечно Но грамотнее все-таки не менять global-переменные в функции. Посчитай все, что тебе надо в функции (загони результат в массив если много значений) и передай значения в основной модуль (return $var; причем $var может быть как переменной, так и массивом ), а там уже регистрируй в сессии.
|
K началу
|
|
|
mr.GOD
Зарегистрирован: 19.11.03
Сообщения: 676
|
Добавлено: 31/08/04 в 17:37
|
|
Цитата: | Может РНР их не создает - в папке tmp пусто. Она у меня прописана, как с:\Program files\php\tmp. Но при проверке, сразу после создания и заполнения данными, print_r($peremen) печатает масив.
|
В темпе данные хранятся на время работы скрипта в который передаются данные формы(файлы), и естественно что ты их не видишь....
Цитата: | Меня не интересует данные формы - в ней у меня передается один параметр 0 или 1, я просто хочу скинуть в масив сессии данные из mysql, что бы постоянно их не считывать из базы. |
это я к тому что если у тебя стоит какой нить фаервол который киляет куки , то при посылки данных через форму ты тоже можешь терять сессию.
|
K началу
|
|
|
Yras
Зарегистрирован: 27.02.03
Сообщения: 51
|
Добавлено: 01/09/04 в 02:16
|
|
Cibtor писал: | Может РНР их не создает - в папке tmp пусто. Она у меня прописана, как с:\Program files\php\tmp. Но при проверке, сразу после создания и заполнения данными, print_r($peremen) печатает масив. Попробую покопатся в php.ini. Намекните, на что смотреть. |
имена папок с пробелами луше не использовать создай какой-нибудь с:\temp
|
K началу
|
|
|
Cibtor
Зарегистрирован: 26.02.03
Сообщения: 481
|
Добавлено: 01/09/04 в 23:00
|
|
Всем еще раз спасибо. Узнал много интересного.
|
K началу
|
|
|
Текстовая реклама в форме ответа Заголовок и до четырех строчек текста Длина текста до 350 символов Купить рекламу в этом месте! |
Внимание! В связи с устареванием топика эта страница была взята из кэша.
|