Ошибка ли? Передача переменной в глобальный.
Работает скрипт.
В начале идёт:
session_start();
потом где-то в скрипте проинициализировал $_SESSION["name"] = "Вадим"...
после подгрузил базу по странам:
...
foreach ($countryarr as $id => $name) {
...
}
И после этого $_SESSION["name"] получает значение $name (например "Япония")...
Это вообще правильно? У меня в денвере такого не происходит, а у хостера оно пишет переменную в глобальную...
Суть вопроса:
1. Я - дурак и нужно везде искользовать уникальные переменные и никогда не повторяться?
2. Криво настроен PHP у хостера, писать в саппорт?
3. ... Ваш вариант...
И что сие может означать с точки зрения безопасности?
Цитата:
$_SESSION["name"] получает значение $name (например "Япония")
Само получает?
Цитата: RussianSpy
что значит
Само получает?
Само получает?
Ну да...
в цикле foreach перебирается массив стран, последняя, значит, Япония.
В цикле использована переменная $name . и вот эта $name перезаписывает $_SESSION["name"]
Я так понимаю у этих дятлов (хостера) variables-order (спасибо РЕФОТу) настроен так, что он все переменные хавает в сессию.
Ошибкой не является, получается...
Но на скрипты влияет дико... получается в сессиб можно записать что угодно...
Перезаписывались бы они только в случае использования глобальных массивов, а не обычных переменных.
В .htaccess пропиши просто php_value register_globals off (Вроде эта команда).