Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> if(isset($var) && $var){ 
:(
    Опции темы
Win MK 32
Дата 25.5.2009, 05:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 492
Регистрация: 15.7.2002

Репутация: нет
Всего: нет



Зачем надо делать такую двойную проверку? Поясните пожалуйста.
PM   Вверх
NLspieler
Дата 25.5.2009, 05:33 (ссылка)   | (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 619
Регистрация: 13.10.2008
Где: Берлин

Репутация: 16
Всего: 19



На человеческий язык эту проверку можно перевести так:
Если переменная установлена и не равна FALSE, тогда выполнить действие.

Не знаю, зачем это может быть нужно... спроси у автора. 
PM MAIL   Вверх
gta4kv
Дата 25.5.2009, 12:16 (ссылка)    | (голосов:4) Загрузка ... Загрузка ... Быстрая цитата Цитата


Walking around mad.
***


Профиль
Группа: Завсегдатай
Сообщений: 1868
Регистрация: 25.7.2006

Репутация: 21
Всего: 91



NLspieler, ну вообще:
Код

if( $var )

Вполне заменяет и:
Код

if( isset ( $var ) )
if( $var != 0 ) 
if( $var != false ) )
итд


Автор конструкции: 
Код

if(isset($var) && $var){

— лох.

Это сообщение отредактировал(а) gta4kv - 25.5.2009, 12:20
PM MAIL   Вверх
bars80080
Дата 25.5.2009, 12:24 (ссылка) |   (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



Цитата(gta4kv @  25.5.2009,  12:16 Найти цитируемый пост)
— лох.

да? а ошибка о неизвестной переменной уже не считается?

или её не видно?
PM MAIL WWW   Вверх
gta4kv
Дата 25.5.2009, 12:28 (ссылка)    | (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Walking around mad.
***


Профиль
Группа: Завсегдатай
Сообщений: 1868
Регистрация: 25.7.2006

Репутация: 21
Всего: 91



bars80080, это не ошибка. Ну а если вы такое показываете юзеру, ну тут я ничем помочь не могу.
Я вообще не признаю проверку переменной на существование, надо писать так что-бы все на месте было. isset использую только с GET / POST, т.к юзеру, как мы все знаем, доверять — нельзя.

Это сообщение отредактировал(а) gta4kv - 25.5.2009, 12:31
PM MAIL   Вверх
bars80080
Дата 25.5.2009, 12:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



ну, здесь вообще неизвестно что за код, поэтому судить можно только по конкретному заданному вопросу, пусть и сугубо теоретическому
PM MAIL WWW   Вверх
gta4kv
Дата 25.5.2009, 12:37 (ссылка)    | (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Walking around mad.
***


Профиль
Группа: Завсегдатай
Сообщений: 1868
Регистрация: 25.7.2006

Репутация: 21
Всего: 91



Ну вот я и сугубо теоретически изложил что if( $var ) достаточно.  smile 
PM MAIL   Вверх
Win MK 32
Дата 25.5.2009, 20:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 492
Регистрация: 15.7.2002

Репутация: нет
Всего: нет



Цитата(bars80080 @  25.5.2009,  10:24 Найти цитируемый пост)
а ошибка о неизвестной переменной уже не считается?

Может тогда надо избрать, как компромисс вариант if(isset($var)) ?


Цитата(bars80080 @  25.5.2009,  10:36 Найти цитируемый пост)
ну, здесь вообще неизвестно что за код

Если можно, то интересны все случаи (не знаю сколько их может быть). Пока только два себе представляю: переменная из глабального массива get/post и переменная из скрипта (из базы например).
PM   Вверх
bars80080
Дата 25.5.2009, 20:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



нет, есть на самом деле два случая:
1. кодер - новичок, либо ленивый и слегка наплевательски относится к своим творениям. в этом случае он пишет что-то вроде isset($var)
2. человек, достаточно наработавший себе базу универсальных скриптов и знающий, где и как образуются его переменные
в этом случае, всё что участвует в его коде заранее уже существует и никаких isset не требуется.
может быть только в одном месте, в функции, которая создаёт массив входящих переменных из массивов $_POST, $_GET, $_REQUEST. 

PM MAIL WWW   Вверх
smartov
Дата 25.5.2009, 20:54 (ссылка)    | (голосов:4) Загрузка ... Загрузка ... Быстрая цитата Цитата


свой собственный
****


Профиль
Группа: Экс. модератор
Сообщений: 4225
Регистрация: 2.2.2006
Где: NJ

Репутация: 7
Всего: 259



Обычно пишу 
Код

if (@$_POST['variable']) { ...


т.к. если нотис то неопасный - его можно задушить кракозяброй.
PM MAIL   Вверх
gta4kv
Дата 25.5.2009, 21:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Walking around mad.
***


Профиль
Группа: Завсегдатай
Сообщений: 1868
Регистрация: 25.7.2006

Репутация: 21
Всего: 91



smartov, 
Вроде такой серьезный человек а ставите собаку =-O Я в некультурном шоке.
PM MAIL   Вверх
Win MK 32
Дата 25.5.2009, 22:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 492
Регистрация: 15.7.2002

Репутация: нет
Всего: нет



Хех, жаль, придется думать и выбирать  smile 
PM   Вверх
source777
Дата 25.5.2009, 23:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1878
Регистрация: 12.3.2007

Репутация: 2
Всего: 56



Цитата(Win MK 32 @  25.5.2009,  20:05 Найти цитируемый пост)
Может тогда надо избрать, как компромисс вариант if(isset($var)) ?
Не пойдёт:
Код

$var = false;
if(isset($var) && $var){
// не выполнится
}
// ----------------------
$var = false;
if(isset($var)){
// выполнится
}


Цитата(gta4kv @  25.5.2009,  12:37 Найти цитируемый пост)
Ну вот я и сугубо теоретически изложил что if( $var ) достаточно.
Если $var не получена от пользователя.

Цитата(gta4kv @  25.5.2009,  12:28 Найти цитируемый пост)
это не ошибка. Ну а если вы такое показываете юзеру, ну тут я ничем помочь не могу.
Это Notice и он обычно пишется в логи, и не всем нравится когда в логах срач.



--------------------
Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте
PM MAIL   Вверх
gta4kv
Дата 26.5.2009, 10:48 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Walking around mad.
***


Профиль
Группа: Завсегдатай
Сообщений: 1868
Регистрация: 25.7.2006

Репутация: 21
Всего: 91



Цитата

Если $var не получена от пользователя.

Весь топик читай, я писал об этом.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1551 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.