Глюки "empty()"

hussar

In code we trust!
Глюки "empty()"

Не понимаю в чем дело вот кусок кода:

PHP:
if (empty($login))  
	echo "<h2 align=\"center\"><font color=\"red\">Вы не ввели логин!!!</font></h2>";
elseif (empty($psw)) 
	echo "<h2 align=\"center\"><font color=\"red\">Вы не ввели пароль!!!</font></h2>"; 
elseif (empty($psw_2))  
	echo "<h2 align=\"center\"><font color=\"red\">Вы не повторили пароль!!!</font></h2>"; 
elseif ($psw!==$psw_2)
	echo "<h2 align=\"center\"><font color=\"red\">Пароли не совпадают, повторите ввод!!!</font></h2>";
else {.......
При введенном логине выводит строку, что логин не введен,
это первая проблема. Вторая в том что после субмита в форме (где сушествуют три поля: логин, пароль, и повтор пароля) содержание поля пароля утраивается. В общем ничего не понимаю, т.к. в других скриптах все работает.

Заранее спасибо за помощь?

P.S.: Apache 1.3.24 PHP 4.1.1
 

Irenf

Guest
Попробу так:

if(!$login) echo "<h2 align=\"center\"><font color=\"red\">Вы не ввели логин!!!</ font></h2>";

По крайней мере у меня так все работает.
 

lunizz

Guest
Иногда можно применять :

if (empty($var) && !isset($var));
 

hussar

In code we trust!
register_globals=on

С логином все получилось, вот только теперь выдает что пароли не совпадают, хотя они точно совпадают. Может ли это быть из-за того что я сессии использую, и в ней регистрирую и логин и пароль?
 

Irenf

Guest
Может я и не прав, но меня смущиет !==,
У меня, например все работает с !=(С одним символом =)
 

hussar

In code we trust!
Автор оригинала: Irenf
Может я и не прав, но меня смущиет !==,
У меня, например все работает с !=(С одним символом =)
Нет так тоже не работает, насколько я понимаю !== и != одно и то же
 

RomikChef

Guest
это не одно и тоже.
о чем ясно и недвусмысленно сказано в документации
(0=="") вернет труе
(0==="") вернет фэлс
 
Сверху