![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
Aliance |
|
|||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 14 Всего: 137 |
Безопасно ли такое применение кода:
Т.е. я назвал переменную так же, как получаемую в массиве от формы, это правильно? Точнее безопасно? И лучше избегать такого или нет? |
|||
|
||||
Mont |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 274 Регистрация: 13.11.2004 Где: Altay Репутация: 8 Всего: 12 |
Если REGISTR_GLOBALS - on, и ты перед использованием этой переменной ей ничего не присваиваешь, то проблемы могут быть. А если ты ей присваиваешь какое-либо значение перед тем как испльзовать ее где-либо в скрипте, то ничего страшного ИМХО.
-------------------- "Если однажды Вдруг Меня не окажется вовсе в заповедной заветной тарелке Твоего праведного сновидения Знай - Неуловимые мстители настигли меня." © Егор Летов |
|||
|
||||
-=Ustas=- |
|
|||
![]() Ustix IT Group ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2222 Регистрация: 21.1.2005 Где: Краснодар Репутация: 32 Всего: 69 |
Нежелательно использовать имена переменных, которые находяться в массвие _POST или _GET. Потому как будет путаница у разных хостеров.
-------------------- В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм. ----- |
|||
|
||||
Alone |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 663 Регистрация: 11.5.2003 Где: Dnepropetrovsk, U A Репутация: 1 Всего: 6 |
-=Ustas=-
Это почему же? -------------------- |
|||
|
||||
-=Ustas=- |
|
|||
![]() Ustix IT Group ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2222 Регистрация: 21.1.2005 Где: Краснодар Репутация: 32 Всего: 69 |
Да потому, что если REGISTR_GLOBALS - on, тогда объявление такой же переменной будет содержать значение из _POST или _GET. Поэтому имена лучше давать разные, чтоб потом самому не запутаться, но это уже как кому нравиться.
-------------------- В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм. ----- |
|||
|
||||
Cheba |
|
|||
![]() pointless one ![]() ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 1777 Регистрация: 27.11.2003 Где: /dev/null Репутация: 1 Всего: 62 |
Но ведь приведенный выше код делает "мягкую" эмуляцию того самого REGISTR_GLOBALS = on. Только он еще и присваивает значение по умолчанию, так сказать. Именно в данном случае совершенно ничего страшного не случится при любом значении REGISTR_GLOBALS.
|
|||
|
||||
-=Ustas=- |
|
|||
![]() Ustix IT Group ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2222 Регистрация: 21.1.2005 Где: Краснодар Репутация: 32 Всего: 69 |
Я говорю не за вышеприведенный случай, а вообще, в принципе!
-------------------- В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм. ----- |
|||
|
||||
Aliance |
|
|||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 14 Всего: 137 |
Именно! Кроме того, у меня r_g off и при чем здесь другой хостер? Меня мой волнует ![]() |
|||
|
||||
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
Вообще по хорошему var является зарезервированным словом. Затем... Зачем заводить лишнюю переменную?
Работай сразу с $_POST массивом. Проверяя элементы через isset() |
|||
|
||||
Aliance |
|
|||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 14 Всего: 137 |
Я var как пример привел, есесно у меня не оно
![]() Ввожу переменную чтобы проверить, ввел ли юзер что-то. А если не ввел - подставляю значение по умолчанию. А isset() я негативно отношусь, наверное потому что до сих пор не понимаю ее предназначения ![]() |
|||
|
||||
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
Проверка существования переменной. |
|||
|
||||
Kefir |
|
|||
«Hakuna Matata» ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1878 Регистрация: 25.1.2003 Где: Tampere, Suomi Репутация: 13 Всего: 87 |
кстати, не знаю насчёт isset - иногда лучше empty. Т.к. переменная может быть создана, но быть пустой. Т.е. для проверки нужно ли ставить дефолтовые значения лучше использовать if(empty($foo)) $foo = $default_foo; Так будут ловиться ловится случаи и неустановленной и пустой переменной.
|
|||
|
||||
-=Ustas=- |
|
|||
![]() Ustix IT Group ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2222 Регистрация: 21.1.2005 Где: Краснодар Репутация: 32 Всего: 69 |
А вот тут ты ошибаешься. Если переменная не установлена, и ты ее будешь проверять на пустое значение то у тебя в любом случае выскачит ошибка, типа undefined varable, и поэтому придется постоянно глушить - `@`, ИМХО. -------------------- В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм. ----- |
|||
|
||||
Aliance |
|
|||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 14 Всего: 137 |
Так можно сперва isset() а потом empty() проверить
![]() |
|||
|
||||
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
Не будет варнинга, проверь. empty проверяет как существование переменной, так и значение, если переменная задана. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "PHP" | |
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |