Логические операторы становятся самостоятельными в сочетании с условными тестами.
Оператор | Описание |
---|---|
&& | and и |
|| | or или |
! | not не |
Оператор AND(&&)
Оператор | name and pass |
---|---|
Описание | Если name and pass оба имеют значение true, то результат true. |
Объяснение | Если name = = "alex" и pass = = "alex123", то произойдёт перенаправление на страницу phptpoint, и если какой-либо из них недействителен, то будет показано сообщение об ошибке (неверное имя или пароль). |
<?php $name="alex"; $pass="alex123"; if($name=="alex" && $pass=="alex123") { header('location:https://foxyforex.ru'); } else { echo "Invalid name or password"; } ?>
Результат: This program will redirect you on «https://foxyforex.ru» page
В приведённом выше примере есть две переменные $name и $pass со значением («alex», «alex123»). Если оба значения существуют, то они будут перенаправлены на foxyforex.ru из-за header( ). В противном случае: ошибка invalid name or password (недопустимое имя или пароль).
Здесь оба условия выполняются, так что в качестве выходных данных вы будете перенаправлены на страницу «https://foxyforex.ru».
Оператор OR(||)
Оператор | name or pass |
---|---|
Описание | Если name или pass имеют значение true, то результат true. |
Объяснение | Если name = = "alex" или pass = = "alex123", то произойдёт перенаправление на страницу foxyforex.ru, и если оба значения false, то будет показано сообщение об ошибке (неверное имя или пароль). |
<?php $name="alex"; $pass="alex123"; if($name=="alex" || $pass=="alex12345") { header('location:https://foxyforex.ru'); } else { echo "Invalid name or password"; } ?>
Результат: This program will redirect you on «https://foxyforex.ru» page
В приведённом выше примере две переменные $name или $pass $name содержат значение = «alex», $pass содержат значение = «alex123», если какое-либо из условий выполнено, то вас перенаправляют на страницу «https://foxyforex.ru«, в противном случае это неверное имя или пароль.
Здесь выполняется одно из обоих условий, поэтому в качестве выходных данных вы будете перенаправлены на страницу «https://foxyforex.ru«.
Оператор Not(!)
Оператор | Не |
---|---|
Описание | Обратный логический тест |
Объяснение | Проверьте, является ли данное число нечетным или нет. Здесь в $num хранится 11, а его модуль равен 1. Например, значение $num mudulus не равно 0, это нечетное число, поэтому 11 является нечетным числом. |
<?php $num=11; if($num%2!=0) { echo $num." is odd number"; } else { echo $num." is even number"; } ?>
Результат: 11 is odd number
В приведённом выше примере возьмем переменную $num со значением = 11 и проверим, является ли число чётным или нечётным.
Мы задаём условие ($num%2!=0) внутри. Если оно не будет истинным, тогда число нечётное. В противном случае выполняется оператор else (число чётное).
Здесь число не делится на 2, поэтому на выходе отображается: данное число является нечётным числом.
Создайте страницу входа с помощью && и ||
<?php if(isset($_GET['login'])) { $eid=$_GET['e']; $pass=$_GET['p']; if($eid=="" || $pass=="") { echo "<font color='red'>Please fill your email and pass</font>"; } else { if($eid=="xyz" && $pass=="xyz123") { echo "<font color='blue'>welcome xyz</font>"; } else { echo "<font color='red'>wrong email or pass</font>"; } } } ?> <form> Enter your email<input type="text" name="e"/><br/> Enter your pass<input type="password" name="p"/> <input type="submit" value="Signin" name="login"/> </form>
В приведённом выше примере мы создаём форму из двух полей. По умолчанию методом формы является ‘GET’,
Первое поле — для электронной почты, второе поле — для пароля.
Логика определяется в PHP-скрипте. Сначала проверяем функцию isset( ) на наличие, вводим имя и пароль в поле name и password. Значение сохраняется в переменных ($eid и $pass).
Если значение $eid или $pass равно null, то отображается сообщение «введите свой адрес электронной почты или пароль».
В противном случае выполняется проверка значения $eid и $pass на соответствие заданному существующему значению.
Если совпадают, то отображается сообщение «Добро пожаловать xyz», в противном случае отображается сообщение «Неверный адрес электронной почты или пароль».