regiter_globals и foreach

Статус
В этой теме нельзя размещать новые ответы.

AHTIXPICT

Новичок
regiter_globals и foreach

Если register_globals = Off
тогда такой код работает нормально
PHP:
$language['en']['name'] = "ENG";
$language['en']['img'] = "en.jpg";
$language['en']['file'] = "en.lng";
$language['ru']['name'] = "RUS";
$language['ru']['img'] = "ru.jpg";
$language['ru']['file'] = "ru.lng";
foreach ($language as $key=>$val) 
{
.........
}
Если же register_globals = On
тогда пишет:
Warning: Invalid argument supplied for foreach() in /usr/local/apache/htdocs/terminal/include/mod_lang.php on line 11

Что с этим можно сделать?
 

Andreika

"PHP for nubies" reader
AHTIXPICT
1. ты уверен, что если я скопирую сей текст и включу register_globals будет выводиться тоже самое? сей код полностью показывает проблему?

2. http://phpfaq.ru/debug
 

AHTIXPICT

Новичок
Разобрался.
В сессионных данных была переменная с такимже именем.
Спасибо

-~{}~ 24.05.06 10:14:

Romantik
Ты экстрасенс. :)
 

Фанат

oncle terrible
Команда форума
он просто фак читал, про сессии.
в отличие от некоторых
 

AHTIXPICT

Новичок
Фанат как обычно в своем репертуаре.
Считает что никто ничего не читал кроме него.
Я думаю с такой ошибкой многие сталкивались, и сразу так быстро не поймешь в чем загвоздка.
Ведь пишешь под register... = Off и забываешь что переменная может задублиться в двух глобальных массивах.
А у клиента register = On и начинается неразбериха.
Теперь понял в чем ошибка.
Еще раз всем спасибо.

-~{}~ 24.05.06 10:38:

объясните
register_globals = on

$_SESSION['user_id'] = 2

Делаю
if (isset($_POST['search']))
{
$user_id = intval($_POST['user_id']);
}
else
{
$user_id = 0;
}

и становится
$_SESSION['user_id'] = 0
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху