Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
 Аватар для Майкл Скоуфилд
11 / 10 / 3
Регистрация: 25.09.2015
Сообщений: 238

Оператор сравнения

10.09.2018, 22:19. Показов 617. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте.
Интересует как сделать что бы первый if отрабатывал только если обе переменные пустые

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<?php
if (empty($_POST['mail'] and $_POST['password'])) {
    print <<<HTMLBLOCK
            <form method="post" action="$_SERVER[PHP_SELF]">
                <input type="text" name="mail" placeholder="enter your mail"><br><br>
                <input type="password" name="password" placeholder="enter your password"><br>
                <button type="submit">send</button>
            </form>
HTMLBLOCK;
 
    }  elseif (strcasecmp(trim($_POST['mail']. ':'. $_POST['password']), 'vds.reseller@gmail.com:password') == 0 ) {
            print "Login successful ". $_POST['mail'];
 
    } elseif (isset($_POST['mail']) == true) {
 
            print <<<HTMLBLOCK
                <form method="post" action="$_SERVER[PHP_SELF]">
                    <input type="text" name="mail" placeholder="enter your mail"><br><br>
                    <input type="password" name="password" placeholder="enter your password"><br>
                    <button type="submit">send</button>
                </form>
HTMLBLOCK;
            print "Invalid login or password";
    } else {
 
            print <<<HTMLBLOCK
                <form method="post" action="$_SERVER[PHP_SELF]">
                    <input type="text" name="mail" placeholder="enter your mail"><br><br>
                    <input type="password" name="password" placeholder="enter your password"><br>
                    <button type="submit">Login</button>
                </form>
HTMLBLOCK;
            print "Invalid login";
}
?>
Что бы не плодить темы, вопрос всё равно схожий.
Где ошибка в коде? Ругается на строку 14, что там не так сделал?

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<?php
if (empty($_POST['mail'] and $_POST['password'])) {
    print <<<HTMLBLOCK
            <form method="post" action="$_SERVER[PHP_SELF]">
                <input type="text" name="mail" placeholder="enter your mail"><br><br>
                <input type="password" name="password" placeholder="enter your password"><br>
                <button type="submit">send</button>
            </form>
HTMLBLOCK;
 
    }  elseif (strcasecmp(trim($_POST['mail']. ':'. $_POST['password']), 'vds.reseller@gmail.com:password') == 0 ) {
            print "Login successful ". $_POST['mail'];
 
    } elseif (isset($_POST['mail'] or $_POST['password']) == true) {
 
            print <<<HTMLBLOCK
                <form method="post" action="$_SERVER[PHP_SELF]">
                    <input type="text" name="mail" placeholder="enter your mail"><br><br>
                    <input type="password" name="password" placeholder="enter your password"><br>
                    <button type="submit">send</button>
                </form>
HTMLBLOCK;
            print "Invalid login or password";
    } else {
 
            print <<<HTMLBLOCK
                <form method="post" action="$_SERVER[PHP_SELF]">
                    <input type="text" name="mail" placeholder="enter your mail"><br><br>
                    <input type="password" name="password" placeholder="enter your password"><br>
                    <button type="submit">Login</button>
                </form>
HTMLBLOCK;
            print "Invalid login";
}
?>
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
10.09.2018, 22:19
Ответы с готовыми решениями:

Оператор сравнения
Здравствуйте Пожалуйста, подскажите, как оператором сравнения сравнить только часть слова например - чтобы слово test было равно test1,...

Оператор сравнения
добрый вечер, попался в руки учебник пхп4, начал изучать и на 4 уроке застрял на упражнении 2 упр 2. Присвойте значения двум...

Оператор сравнения
Здравствуйте. Необходим оператор сравнения который будет сравнивать переменную с пустотой. То есть условие вывода текста если...

1
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
10.09.2018, 22:39
Цитата Сообщение от Майкл Скоуфилд Посмотреть сообщение
PHP
1
empty($_POST['mail'] and $_POST['password'])
какая-то жесть. Если в суперглобальном массиве $_POST не будет ключа mail, то будет warning, следует проверять empty($_POST['mail']). Вторая часть условия не нужна, empty и так проверяет на пустоту (что считается пустотой описано в документации)
Цитата Сообщение от Майкл Скоуфилд Посмотреть сообщение
isset($_POST['mail'] or $_POST['password']) == true
Примерно то же самое, еще isset и так возвращает bool, так что нет смысла проверять что true Еще следует обратить внимание, что isset, в отличае от
, может принималь несколько параметров
Цитата Сообщение от Майкл Скоуфилд Посмотреть сообщение
$_SERVER[PHP_SELF]
PHP_SELF не следует использовать. Для доступа к текущему URI следует использовать REQUEST_URI. https://secure.php.net/manual/... server.php

Цитата Сообщение от Майкл Скоуфилд Посмотреть сообщение
Интересует как сделать что бы первый if отрабатывал только если обе переменные пустые
PHP
1
if (empty($_POST['mail']) && empty($_POST['password'])) {}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.09.2018, 22:39
Помогаю со студенческими работами здесь

Оператор сравнения
Возник вот такой вопрос, может кто знает в чем причина, почему выполняется такое условие? $a = '0'; $b = '000000000000000000'; ...

Неправильно работает оператор сравнения
Не правильно работает данный участок. Показывает echo 'lol' даже когда сообщение больше двух символов. Почему? if($mess&lt;=2){ echo...

Операторы сравнения PHP
Здравствуйте, хотел узнать: существует ли в PHP такой же оператор сравнения, как в MySql &quot;LIKE&quot;?

Простой скрипт сравнения
Ребята, подскажите! Нужен скрипт сравнения как здесь http://rosmobile.ru/compare/ или что-то на подобе. К примеру при выборе из первого...

сокращенные условные сравнения
if ($_SESSION &lt; '0' || $_SESSION &lt; '0') {...} Разве это не равносильно вот этому: if (($_SESSION || $_SESSION) &lt; '0') {...} ? ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru