Логический оператор

diverck

Новичок
Логический оператор

Привет всем, вопрос в следующем... пишу код:
PHP:
if ($name or  $pwd or  $pwd2 == false); {
	echo  $error;	
	}
проблема:
1 переменная $ error выводится не зависимо от того заполнены или не заполнены поля, и еще..
2 код ($ error) работает сразу при первой загрузке, когда все поля не заполнены.... в чем может быть проблема, как исправить
Я, ламер, будьте снисходительны....
 

netmac

Новичок
Твои переменные, незаполненные, равны "", что воспринимается как true.
 

Igor aka TiGR

Новичок
Проверять на существование переменные лучше при помощи функции isset.
 

netmac

Новичок
А что еще за ; после условия? Вобщем почитай книжку какую-нибудь по азам php, а то что то ты совсем слаб.
 

diverck

Новичок
Спасибо, не подумал о true


я действительно слаб очень а рнр, почитаю что на ссылке, просто и делать уже что то охото, еще раз спасибо)))
 

FreeSpace

Чукча-читатель
Вообще-то строка "" при приведении к типу boolean означает false.
А про точку с запятой как раз замечание верное :)
 

AndreyKl

Новичок
Вообще, дело точно в ; это будет выполняться всегда, даже если так
PHP:
$error = "ne vagno chto";
if (false); {
    echo  $error;    
}
 

WP

^_^
Дык =) ; закроет условие, а {...some code...} выполнится отдельно.
 
Сверху