Игнорируется условие в тернарном операторе
Добавив условие в тернарный оператор, начало игнорироваться первое условие - empty($_POST['email'] - и вместо сообщения 'Укажите почтовый адрес' выводится 'Такая почта уже зарегистрирована'.
Почему так происходит?
$_SESSION['email_empty'] = empty($_POST['email']) ? 'Укажите почтовый адрес': '';
$_SESSION['email_empty'] = empty($_POST['email']) ? 'Укажите почтовый адрес' :
$email_exists[0] == $_SESSION['email'] ? 'Такая почта уже зарегистрирована' : 'valid';
Ответы (1 шт):
Автор решения: AlexGlebe
→ Ссылка
Вы забыли про скобки.
Строка 'Укажите почтовый адрес' идёт и обрабатывается как следующее выражение для второго вопроса. А второй вопрос выдаёт этот результат.
$_SESSION['email_empty'] = empty($_POST['email']) ? 'Укажите почтовый адрес' : (
$email_exists[0] == $_SESSION['email'] ? 'Такая почта уже зарегистрирована' : 'valid' ) ;