Реклама на сайте Advertise with us
Тема: Сесси в РНР в Виндовс Расширенный поиск по форуму
 
Внимание! В связи с устареванием топика эта страница была взята из кэша.
Автор Сообщение
Информация о пользователе 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.
нужно конечно icon_smile.gif Но грамотнее все-таки не менять 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 символов
Купить рекламу в этом месте!
Внимание! В связи с устареванием топика эта страница была взята из кэша.

Спонсор раздела Стань спонсором этого раздела!

Реклама на сайте Advertise with us

Опросы

Рецепт новогоднего блюда 2022



Обсудите на форуме обсудить (11)
все опросы »