![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| len4ixa |
|
|||
|
Твоя лучшая фантазия ![]() Профиль Группа: Участник Сообщений: 164 Регистрация: 25.11.2008 Репутация: нет Всего: нет |
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
Как это поправить? На чужом хостинге Добавлено через 3 минуты и 16 секунд PHP Warning: Cannot modify header information - headers already sent by (output started at /var/www/www707/web/connect.php:23) in /var/www/www707/web/enter.php on line 19 [28-Nov-2009 21:55:21] PHP Warning: session_register() [<a href='function.session-register'>function.session-register</a>]: Cannot send session cookie - headers already sent by (output started at /var/www/www707/web/connect.php:23) in /var/www/www707/web/enter.php on line 106 [28-Nov-2009 21:55:21] PHP Warning: session_register() [<a href='function.session-register'>function.session-register</a>]: Cannot send session cache limiter - headers already sent (output started at /var/www/www707/web/connect.php:23) in /var/www/www707/web/enter.php on line 106 [28-Nov-2009 21:55:21] PHP Warning: Cannot modify header information - headers already sent by (output started at /var/www/www707/web/connect.php:23) in /var/www/www707/web/enter.php on line 114 [28-Nov-2009 И эти заодно. Оно вместе вылетает Это сообщение отредактировал(а) len4ixa - 28.11.2009, 19:34 --------------------
Кому интересно быть модером на бесплатнои хостинге (но не ломать его) и сделать из него хотя бы что-то, похожее на "нормальное", тому Сюда.Сайт брата: kras.24ss.ru. Регимся. |
|||
|
||||
| Pitlord |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 246 Регистрация: 31.10.2009 Репутация: 4 Всего: 7 |
В принципе, стараться не давать переменным те же имена, что и ключам массива $_SESSION. И отключить register_globals. |
|||
|
||||
| Ипатьев |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
Эта ошибка появляется именно при выключенной register_globals
|
|||
|
||||
| len4ixa |
|
||||||
|
Твоя лучшая фантазия ![]() Профиль Группа: Участник Сообщений: 164 Регистрация: 25.11.2008 Репутация: нет Всего: нет |
А включить ее как? Добавлено @ 22:26 $_GET, $_POST, $_COOKIE, $_SESSION, $_SERVER (в PHP версии от 4.1) или, соответственно, $HTTP_GET_VARS, $HTTP_POST_VARS, $HTTP_COOKIE_VARS, $HTTP_SERVER_VARS (в любых версиях PHP). Об этом речь? переменные переделать? Поищу насчет совпадений в названиях ключей и других переменных пока что. Добавлено @ 22:30 А еще такая проблема, может быть из-за этого же. Есть страница регистрации, забыла, как там передаются данные из формы в компилятор, но в итоге страница загружается заново, а записи в бд значений, которые должны были записаться, не происходит. Наверное, оно для ранних версий было написано кодиво. Добавлено через 10 минут и 46 секунд Приведу примеры двух стр, может поможет чем... Там не только php файлы.
А это регистрация:
Это сообщение отредактировал(а) len4ixa - 28.11.2009, 22:31 --------------------
Кому интересно быть модером на бесплатнои хостинге (но не ломать его) и сделать из него хотя бы что-то, похожее на "нормальное", тому Сюда.Сайт брата: kras.24ss.ru. Регимся. |
||||||
|
|||||||
| Pitlord |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 246 Регистрация: 31.10.2009 Репутация: 4 Всего: 7 |
Не надо включать. Отключи директивы session.bug_compat_42 и session.bug_compat_warn (.htaccess):
Добавлено через 4 минуты и 31 секунду Ууу. Твой код работать без register_globals вообще не будет. Переписывать его надо. |
|||
|
||||
| Ипатьев |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
директивы не надо включать
Достаточно не использовать session_register |
|||
|
||||
| Pitlord |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 246 Регистрация: 31.10.2009 Репутация: 4 Всего: 7 |
||||
|
||||
| Ипатьев |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
Возникает, но при очень редком сочетании обстоятельств. И в данном случае это прямое следствие session_register + register_globals
Возникающие ошибки кагбе говорят нам, "вы наивно думаете, что все изменения зарегистрированной в сессии переменной будут автоматически заноситься в сессию даже при регистер глобалс офф, но вы обломаетесь! Это была наша ошибка, что даже при отключенных глобалсах сессии продолжали вести себя как при велюченных. Поэтому начиная с версии 4.2.3 мы это дело отключили. Но потом спохватились, и нафигачили аж два предупреждения в пхпюини, чтобы вам скучно не было". Следовательно, с переходом на $_SESSION ошибка исчезнет. И уж всяко с ней надо бороться не отключением директив. Это сообщение отредактировал(а) Ипатьев - 28.11.2009, 23:04 |
|||
|
||||
| Pitlord |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 246 Регистрация: 31.10.2009 Репутация: 4 Всего: 7 |
Это борьба с warning'ом, который возникает и при нормальном коде. Добавлено через 1 минуту и 16 секунд Лично у меня такая ошибка возникала именно при использовании имён переменных, совпадающих с ключами массива $_SESSION |
|||
|
||||
| Ипатьев |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
при нормальном коде warning'ов не бывает!
это по определению сигнал о плохом коде. покажите мне код, в котором оно возникает, и я укажу на ошибку. |
|||
|
||||
| Pitlord |
|
||||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 246 Регистрация: 31.10.2009 Репутация: 4 Всего: 7 |
Ипатьев, ты очень самоуверенный человек.
Настройки:
Сделай так: 1. Запусти скрипт. Сессия стартует, в $_SESSION['var'] NULL будет. 2. Запусти скрипт с GET-параметром $_GET['v']: test.php?v=123 Получаем:
Вопрос тебе: в чём ошибка с моей стороны? |
||||||
|
|||||||
| Ипатьев |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
в том, что в $_SESSION['var'] пишется NULL
была бы там нормальная пустая строка, и ошибки бы не было |
|||
|
||||
| Pitlord |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 246 Регистрация: 31.10.2009 Репутация: 4 Всего: 7 |
То есть записывать в $_SESSION NULL запрещено? Лови минус. Ты не умеешь отвечать за свои слова и признавать свои ошибки. Это сообщение отредактировал(а) Pitlord - 29.11.2009, 04:33 |
|||
|
||||
| len4ixa |
|
|||
|
Твоя лучшая фантазия ![]() Профиль Группа: Участник Сообщений: 164 Регистрация: 25.11.2008 Репутация: нет Всего: нет |
Все-таки как код переписать?=)
--------------------
Кому интересно быть модером на бесплатнои хостинге (но не ломать его) и сделать из него хотя бы что-то, похожее на "нормальное", тому Сюда.Сайт брата: kras.24ss.ru. Регимся. |
|||
|
||||
| Pitlord |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 246 Регистрация: 31.10.2009 Репутация: 4 Всего: 7 |
a) Не использовать устаревшие функции (ereg, session_register), желательно вместо mysql_fetch_array() использовать mysql_fetch_assoc() b) Убрать зависимость от register_globals c) Правильно обрабатывать SQL-запросы и все поступающие данные (экранирование перед вставкой в запрос, htmlspecialchars там где нужно), d) Не использовать файлы в качестве хранилищ данных e) Исправить ошибки, влекующие notice'ы f) Желательно вынести HTML-код в шаблоны Переписывай) |
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |