Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Значение переменной записывается в сессионную переменную

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Wade
Отправлено: 14 Апреля, 2014 - 15:37:10
Post Id


Новичок


Покинул форум
Сообщений всего: 6
Дата рег-ции: Апр. 2014  


Помог: 0 раз(а)




Добрый день.

Первый раз работаю c PHP. Проблема в следующем:
есть код:

CODE (htmlphp):
скопировать код в буфер обмена
  1. start_session();
  2. $table = 'что-нибудь';
  3. $_SESSION['table'] = $table;
  4. echo "{$_SESSION['table']}<br />";   // что-нибудь
  5. $table = 'bla bla bla';       // перепишет значение $_SESSION['table']
  6. echo "{$_SESSION['table']}";  // bla bla bla


на локальной машине всё ок, не переписывает сессионную переменную, если залить на хостинг, то переписывает сессионную переменную, скорее всего php.ini, но не знаю какой параметр... Нужно чтобы перезапись переменной не влияла на сессионную
может кто помочь?

(Отредактировано автором: 14 Апреля, 2014 - 15:38:27)

 
 Top
Edwvee
Отправлено: 14 Апреля, 2014 - 15:40:08
Post Id


Частый гость


Покинул форум
Сообщений всего: 195
Дата рег-ции: Июнь 2013  


Помог: 1 раз(а)




То есть в приведенном примере кода, то что в комментарии на 6 строке, это неправильно?
 
 Top
Wade
Отправлено: 14 Апреля, 2014 - 15:42:37
Post Id


Новичок


Покинул форум
Сообщений всего: 6
Дата рег-ции: Апр. 2014  


Помог: 0 раз(а)




Edwvee пишет:
То есть в приведенном примере кода, то что в комментарии на 6 строке, это неправильно?


Да, должно оставаться 'что-нибудь' как и в 3 строке.
 
 Top
Edwvee
Отправлено: 14 Апреля, 2014 - 15:44:05
Post Id


Частый гость


Покинул форум
Сообщений всего: 195
Дата рег-ции: Июнь 2013  


Помог: 1 раз(а)




Понял в чем суть. А прям вот на вот этом конкретно коде такие результаты?
 
 Top
Строитель Модератор
Отправлено: 14 Апреля, 2014 - 15:46:53
Post Id



Участник


Покинул форум
Сообщений всего: 1581
Дата рег-ции: Февр. 2014  
Откуда: Украина


Помог: 74 раз(а)




А как вариант - использовать разные имена переменных?
(Добавление)
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. start_session();
  3. $table = 'что-нибудь';
  4. $_SESSION['table'] = $table;
  5. echo $_SESSION['table'].'<br />';   // что-нибудь
  6. $table_2 = 'bla bla bla';       // НЕ перепишет значение $_SESSION['table']
  7. echo $_SESSION['table'];  // что-нибудь
  8. ?>

(Отредактировано автором: 14 Апреля, 2014 - 15:51:48)

 
 Top
Wade
Отправлено: 14 Апреля, 2014 - 15:48:20
Post Id


Новичок


Покинул форум
Сообщений всего: 6
Дата рег-ции: Апр. 2014  


Помог: 0 раз(а)




Edwvee пишет:
Понял в чем суть. А прям вот на вот этом конкретно коде такие результаты?


Ага
 
 Top
Edwvee
Отправлено: 14 Апреля, 2014 - 15:51:16
Post Id


Частый гость


Покинул форум
Сообщений всего: 195
Дата рег-ции: Июнь 2013  


Помог: 1 раз(а)




Строитель пишет:
А как вариант - использовать разные имена переменных?
(Добавление)
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. start_session();
  3.  
  4. $table = 'что-нибудь';
  5.  
  6. $_SESSION['table'] = $table;
  7.  
  8. echo "{$_SESSION['table']}<br />";   // что-нибудь
  9.  
  10. $table_2 = 'bla bla bla';       // НЕ перепишет значение $_SESSION['table']
  11.  
  12. echo "{$_SESSION['table']}";  // bla bla bla
  13. ?>

Я думаю не вариант, что-то с php не так. Почему-то строка по ссылке присваивается. В случае объектов так оно и есть, но со строкой так не должно быть. В 3 строке же нет символа & перед $table;
 
 Top
Wade
Отправлено: 14 Апреля, 2014 - 15:54:13
Post Id


Новичок


Покинул форум
Сообщений всего: 6
Дата рег-ции: Апр. 2014  


Помог: 0 раз(а)




Edwvee пишет:
Строитель пишет:
А как вариант - использовать разные имена переменных?
(Добавление)
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. start_session();
  3.  
  4. $table = 'что-нибудь';
  5.  
  6. $_SESSION['table'] = $table;
  7.  
  8. echo "{$_SESSION['table']}<br />";   // что-нибудь
  9.  
  10. $table_2 = 'bla bla bla';       // НЕ перепишет значение $_SESSION['table']
  11.  
  12. echo "{$_SESSION['table']}";  // bla bla bla
  13. ?>

Я думаю не вариант, что-то с php не так. Почему-то строка по ссылке присваивается. В случае объектов так оно и есть, но со строкой так не должно быть. В 3 строке же нет символа & перед $table;


Да, тоже об этом думал, везде проверил нигде нету &
 
 Top
Строитель Модератор
Отправлено: 14 Апреля, 2014 - 15:55:43
Post Id



Участник


Покинул форум
Сообщений всего: 1581
Дата рег-ции: Февр. 2014  
Откуда: Украина


Помог: 74 раз(а)




Edwvee пишет:
Строитель пишет:
А как вариант - использовать разные имена переменных?
(Добавление)
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. start_session();
  3.  
  4. $table = 'что-нибудь';
  5.  
  6. $_SESSION['table'] = $table;
  7.  
  8. echo "{$_SESSION['table']}<br />";   // что-нибудь
  9.  
  10. $table_2 = 'bla bla bla';       // НЕ перепишет значение $_SESSION['table']
  11.  
  12. echo "{$_SESSION['table']}";  // bla bla bla
  13. ?>

Я думаю не вариант, что-то с php не так. Почему-то строка по ссылке присваивается. В случае объектов так оно и есть, но со строкой так не должно быть. В 3 строке же нет символа & перед $table;




Ну всё же если возможно переименовать переменную, то попробуйте.
 
 Top
Edwvee
Отправлено: 14 Апреля, 2014 - 15:59:03
Post Id


Частый гость


Покинул форум
Сообщений всего: 195
Дата рег-ции: Июнь 2013  


Помог: 1 раз(а)




Это как временное решение, а так надо с хостером разбираться
 
 Top
IllusionMH
Отправлено: 14 Апреля, 2014 - 15:59:56
Post Id



Активный участник


Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011  
Откуда: .kh.ua


Помог: 242 раз(а)




del.

(Отредактировано автором: 14 Апреля, 2014 - 16:00:22)

 
 Top
Мелкий Супермодератор
Отправлено: 14 Апреля, 2014 - 16:01:39
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Какие версии PHP?
Для всяких древностей надо копать в сторону, как сессии работали с register_globals и другими глупостями, имевшими в истории php место.


-----
PostgreSQL DBA
 
 Top
Wade
Отправлено: 14 Апреля, 2014 - 16:05:23
Post Id


Новичок


Покинул форум
Сообщений всего: 6
Дата рег-ции: Апр. 2014  


Помог: 0 раз(а)




Мелкий пишет:
Какие версии PHP?
Для всяких древностей надо копать в сторону, как сессии работали с register_globals и другими глупостями, имевшими в истории php место.


5.3 на хостинге
5.3 у меня
 
 Top
Wade
Отправлено: 14 Апреля, 2014 - 18:40:31
Post Id


Новичок


Покинул форум
Сообщений всего: 6
Дата рег-ции: Апр. 2014  


Помог: 0 раз(а)




Спасибо, ребят, нашёл решение, может кому пригодится. В частности на хостинге iPage по-умолчанию включена директория register_globals в php.ini. Она отвечает за связь имени переменной и индексом массива $_SESSION, если эти имена одинаковые, то изменение их значений буду перезаписывать друг друга.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB