Задать вопрос
@kamtm

Почему не работает if — elseif со скобкой?

Добрый день!

Есть такой код:

$useremail = trim($_POST['useremail']);
		$useremail = substr($useremail, 0, 128);
		$username = trim($_POST['username']);
		$username = substr($username, 0, 128);

		if (empty($useremail)) echo 'Введите Вашу почту';
		elseif (!filter_var($useremail,FILTER_VALIDATE_EMAIL)) echo 'Не правильно введен E-mail';

		elseif (strlen($useremail) > 0)
		$query = sprintf("SELECT user_email FROM users WHERE user_email = '%s' LIMIT 1",mysqli_real_escape_string($link,$useremail));
		$result = mysqli_query($link, $query);
			if (mysqli_num_rows($result) == 1) echo 'Такой E-mail уже занят. <a href="/?do=lost">Восстановить пароль?</a>';
				
		elseif (empty($username)) echo 'Введите Ваше имя';
		elseif (strlen($username) < 2 ) echo 'Имя должно быть более 2 букв';


Почему, если написать так, то есть добавить скобки фигурные:

elseif (strlen($useremail) > 0) {
		$query = sprintf("SELECT user_email FROM users WHERE user_email = '%s' LIMIT 1",mysqli_real_escape_string($link,$useremail));
		$result = mysqli_query($link, $query);
			if (mysqli_num_rows($result) == 1) echo 'Такой E-mail уже занят. <a href="/?do=lost">Восстановить пароль?</a>'; 
}


Происходит ошибка? То есть проверка ниже не идет уже и данные не записываются? Как можно вывести результат ошибки, потому что при включенных директивах мне ничего не сообщается об ошибке, но и данные не вносятся.

Спасибо.
  • Вопрос задан
  • 2710 просмотров
Подписаться 2 Оценить Комментировать
Решения вопроса 1
mlnkv
@mlnkv
JavaScript Developer
не стесняйтесь ставить фигурные скобки (пока не постигнете дзен :) )

if (empty($useremail)) {
  echo 'Введите Вашу почту';
} elseif (!filter_var($useremail,FILTER_VALIDATE_EMAIL)) {
  echo 'Не правильно введен E-mail';
} elseif (strlen($useremail) > 0) {
  $query = sprintf("SELECT user_email FROM users WHERE user_email = '%s' LIMIT 1",mysqli_real_escape_string($link,$useremail));
  $result = mysqli_query($link, $query);
  if (mysqli_num_rows($result) == 1) {
    echo 'Такой E-mail уже занят. <a href="/?do=lost">Восстановить пароль?</a>';  
  } elseif (empty($username)) {
    echo 'Введите Ваше имя';
  } elseif (strlen($username) < 2 ) {
    echo 'Имя должно быть более 2 букв';
  }
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы