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]   

> Описание: Похоже хостер сменил конфиг сервера и начались ошибки
spok
Отправлено: 14 Января, 2010 - 10:01:39
Post Id


Новичок


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


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




Здраствуйте!
Помогите разобраться что нужно исправить в коде что-бы в лог не кидало-бы ошибку ( похоже хостер сменил настройки сервера или обновил ПО )

Сама ошибка которая пишеться в лог
PHP:
скопировать код в буфер обмена
  1. [14-Jan-2010 10:39:08] PHP Warning:  Unknown: Your script possibly relies on a session side-effect which existed until PHP 4.2.3. Please be advised that the session extension does not consider global variables as a source of data, unless register_globals is enabled. You can disable this functionality and this warning by setting session.bug_compat_42 or session.bug_compat_warn to off, respectively. in Unknown on line 0


Принцип самой страницы

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $antispam = $_SESSION['antispam'];
  3. // Код страницы
  4. ?>
  5.  
  6.  // Так-же вызываю картинку капчи, где есть код  
  7.  // session_start();
  8.  // session_register('antispam');
  9. <img src="kapca.php" border="0" align="top" alt=""/>
  10. <?PHP
  11. session_unregister('antispam');
  12. ?>



Код страницы .htaccess

PHP:
скопировать код в буфер обмена
  1. php_flag register_globals On
  2.  
  3. RemoveHandler .htm .html .shtm .shtml
  4. Action application/x-httpd-php5 /cgi-sys/php5
  5. AddType application/x-httpd-php5 .php .htm .html .shtm .shtml


Доступа к настройкам сервера не имею ( простой хостинг )

Заранее спасибо за помощь
 
 Top
Мелкий Супермодератор
Отправлено: 14 Января, 2010 - 10:52:46
Post Id



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


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


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




на сколько я понял - настоятельно рекомендуют отключить register_globals


-----
PostgreSQL DBA
 
 Top
RomAndry Администратор
Отправлено: 14 Января, 2010 - 10:58:00
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 913
Дата рег-ции: Янв. 2008  


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




Буквально не давно похожая тема поднималась здесь.
не называете переменные, совпадающие с переменными $_SESSION
 
My status
 Top
spok
Отправлено: 14 Января, 2010 - 11:19:33
Post Id


Новичок


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


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




Мелкий пишет:
на сколько я понял - настоятельно рекомендуют отключить register_globals


Удалил вообще .htaccess, и ошибка осталась та-же

RomAndry пишет:
Буквально не давно похожая тема поднималась здесь.
не называете переменные, совпадающие с переменными $_SESSION


Изменил названия переменых но увы ошибка та-же и удалил файл .htaccess

Теперь код в таком виде

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $antikod = $_SESSION['antiko'];
  3.  
  4.  
  5. // Так-же вызываю картинку капчи, где есть код  
  6. // session_start();
  7. // session_register('antispam');
  8.  
  9. ?>
  10. <img src="kapca.php" border="0" align="top" alt=""/>
  11.  
  12. <?PHP
  13.  
  14. ?>



Что-то не понимаю в чем ошибка

(Отредактировано автором: 14 Января, 2010 - 11:32:39)

 
 Top
RomAndry Администратор
Отправлено: 14 Января, 2010 - 11:48:16
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 913
Дата рег-ции: Янв. 2008  


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





используйте
unset('antiko');
 
My status
 Top
spok
Отправлено: 14 Января, 2010 - 12:29:47
Post Id


Новичок


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


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




RomAndry пишет:
используйте
unset('antiko');


Спасибо за помощь но увы ошибка осталась ( то есть ни чего не изменилось )
Кстати unset('antiko'); вообще ошибка в браузере
Пробывал так

unset($_SESSION['antiko']);

и так

unset($antiko);

все равно ошибку пишет в лог точно такую-же как и писал в первом посте, одним словом уже запарилься и получилься тупик из которого не вижу выхода
 
 Top
JustUserR
Отправлено: 14 Января, 2010 - 12:33:15
Post Id



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


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


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




spok В общем говоря забудьбе про функции session_register и session_unregister и используйте только хеш-массив $_SESSION и соответственно создавайте и изменяйте и удаляйте переменные там


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
valenok Модератор
Отправлено: 14 Января, 2010 - 14:03:24
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


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




перед session_destroy
добавьте $_SESSION = Array();

А переменные быстрее и проще удалять так
$_SESSION['aoeu'] = null;


-----
Truly yours, Sasha.
 
My status
 Top
spok
Отправлено: 14 Января, 2010 - 19:44:14
Post Id


Новичок


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


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




Спасибо всем за помощь, саму проблемму решил отказавшись от сесий в главном файле и перекинув ее в подключаемый файл капчи, вот пример

PHP:
скопировать код в буфер обмена
  1.  
  2. $_SESSION['antispam'];
  3. $_SESSION['antispam'] = "";
  4. // и потом в цикле собираю ссесию по одной буквы с картинки
  5. $antispam .= $strkas;
  6. $_SESSION['antispam'] .= $strkas;
  7.  


Может и не логически но логи ошибки пропали и работает при отключеном register_globals

(Отредактировано автором: 14 Января, 2010 - 19:44:41)

 
 Top
JustUserR
Отправлено: 14 Января, 2010 - 20:26:35
Post Id



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


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


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




spok пишет:
Может и не логически но логи ошибки пропали и работает при отключеном register_globals
Вовсе нет - все верно логически - ошибка выдавалась именно из-за использования функция типа session_register которая пыталась регистрировать глобальную переменную с именем указанным в сессии - просто начиная с более новых версий PHP (Возможно 5.3 - я точно не уверен) старый подход убрали и можно работать только через массив $_SESSION
spok пишет:
Отказавшись от сесий в главном файле и перекинув ее в подключаемый файл
Это хорошо при использовании сессий с cookie - не будут проблемы с заранее начатым выводом до установки cookie Улыбка


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB