сравнение значений на неравенство

spiner

Новичок
сравнение значений на неравенство

есть переменная $asd.
echo $asd -----> login
Сравнение типа:
$asd=="login" - работает
А сравнение:
$asd!="login" - не работает
!== - тоже не работает..
language.operators.comparison смотрел..
Каким самым простым образом можно сравнить вот такие значения на неравенство?
 

Фанат

oncle terrible
Команда форума
а с какой стати оно должно работать?
ты же сравниваешь на НЕРАВЕНСТВО.
а они равны
 

white phoenix

Новичок
ключевые слова "не работает", это как? компьютер исчезает? я думаю возвращается FALSE из логического выражения. всё правильно.
 

spiner

Новичок
извиняюсь за изложение вопроса.
а если они не равны?
echo $asd ----> para
if ($asd!="login") do...
 

white phoenix

Новичок
непонятен вопрос. по-человечески скажи что ты хочешь, если надо приведи код.
 

spiner

Новичок
подробно:
есть переменная $_SESSION['login'];
В нее кладется логин при авторизации.
Далее
$login=$_SESSION['login'];
Далее, если это был НЕ пользователь, который ввел в поле ЛОГИН слово asdasd, то нах его.. А если это пользователь ввел asdasd, работаем дальше..
if ($login!="asdasd") header("Location: login.php");
else { код }
Я понимаю, что можно сделать как работает
if ($login=="asdasd") { код }
else header("Location: login.php");

Но мне все таки непонятно, почему не работает !=
 

white phoenix

Новичок
опять же ты говоришь что не работает. приведи код который по твоему мнению работает не так как должен работать.
 

spiner

Новичок
PHP:
echo $login;
if ($login==0 or $login!="admin")
	{
		echo "1"

	}
elseif ($login=="admin")
	{
                echo "2";
        }
результат:

admin
1
 

Фанат

oncle terrible
Команда форума
spiner
если ты проверяешь СРАВНЕНИЕ, то проверяй СРАВНЕНИЕ, чудик.
СРАВНЕНИЕ, а не хеадер локейшен. не кривую логику своего кривого скрипта
а только сравнение
без сессий
без локейшенов
без кучи кода.

тогда и идиотские вопросы типа этого возникать не будут.
ты сам-то понимаешь всю его глупость?
 

Romashov

экспериментатор
spiner
вот только не надо фантастикой заниматься, ок?
 

Romashov

экспериментатор
1. скрипт выведет в строчку, а не в столбик
2. у тебя ошибка синтаксиса в коде
 

Фанат

oncle terrible
Команда форума
ХАХАХАХАХА

-~{}~ 14.12.05 00:17:

Romashov
по ходу, у него выводит в столбик! и в этом проблема =)

-~{}~ 14.12.05 00:18:

spiner
echo var_dump($login);
 

Romashov

экспериментатор
по ходу, у него выводит в столбик! и в этом проблема =)
это я к тому, что результат работы он не скопировал, как положено, а придумал.
хотя тут дело именно в сравнении строки с нулём.
 

spiner

Новичок
добавил =="0" и заработало..
спасибо всем..
Romashov
если на то пошло, то у меня никак не выведет.
А код я не придумывал, просто копирование и дальнейшее редактирование в textarea форума, не очень удобно. Проще переписать упрощенную задачу заново..

Фанат
это объяснение?
http://phpclub.ru/talk/showthread.php?s=&postid=555181#post555174
 

SelenIT

IT-лунатик :)
spiner
По-моему, Фанат объяснил в том самом сообщении:
если ты проверяешь СРАВНЕНИЕ, то проверяй СРАВНЕНИЕ
а не 2 сравнения + логический оператор, как в твоем примере.

P.S. Все равно не врубаюсь, зачем там сравнение с нулем - хоть целочисленным, хоть строковым?
 

Romashov

экспериментатор
добавил =="0" и заработало..
добавь ещё до кучи туда =="Билл Гейтс крутой чувак", ещё лучше работать будет.

-~{}~ 14.12.05 00:44:

это благосклонность небесных сил повышает ;)
 

spiner

Новичок
SelenIT
Все равно не врубаюсь, зачем там сравнение с нулем - хоть целочисленным, хоть строковым?
Это связано с авторизацией (прошел, не прошел). А второе сравнение, на случай если прошел, но лезешь туда, куда тебе не надо..

-~{}~ 14.12.05 00:48:

Romashov

в чем ирония? зачем-то на личность перешел..
 

SelenIT

IT-лунатик :)
spiner

Тем более. По той логике, что ты описал, 2 проверки должны идти последовательно. Зачем мешать их в кучу?
 
Сверху