Задать вопрос
@Richswitch
junior

Как вывести echo в нужном месте в DOM?

Привет!
Не могу понять, как вывести код с ошибкой авторизации в определенное место в DOM ?
Есть login.php в котором есть код авторизации:
<?php 

		require "db.php";

		$data = $_POST;
		if( isset($data['do_login']) )
		{
			$errors = array();
			$user = R::findOne('users', 'login = ?', array($data['login']
				));
			if( $user )
			{
				// логин существует

				if( password_verify($data['password'], $user->password) )
				{
					// логиним пользователя
					$_SESSION['logged_user'] = $user;
					header('Location: http://example.com/index.php');
				} else {
					$errors[] = 'Неверно введен пароль!';
				}
			} else
			{
				$errors[] = 'Пользователь с таким логином не найден!';
			}

 if( ! empty($errors))
 	{
     echo '<script>document.getElementById('error').classList.add('error_display');'.array_shift($errors).'</script>';  ------- Здесь вывод echo, и моя попытка вывести это с помощью js, но здесь ошибка
 	}
	}
	?>

HTML:
<div class="form_wrap">
				<form id="form" method="post" action="" class="form form_hidden">
					<div class="hform">Вход</div>
					<label>Ваш логин :</label>
					<input class="form_style" type="text" name="login" value="<?php echo @$data['login']; ?>" required oninvalid="this.setCustomValidity('Введите логин!')" oninput="setCustomValidity('')"/><br />
					<label>Ваш пароль :</label>
					<input class="form_style" type="password" name="password" value="<?php echo @$data['password1']; ?>" required oninvalid="this.setCustomValidity('Введите пароль!')" oninput="setCustomValidity('')"/><br />
					<label><a href="#">Забыли пароль?</a></label>
					<button class="button" name="do_login" type="submit">Войти</button>
				</form>
				<div id="error"></div>
			</div>


Как вывести код с ошибкой туда куда мне нужно, а не в топ разметки?
  • Вопрос задан
  • 1089 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Richswitch Автор вопроса
junior
Вроде решил свой вопрос.
Просто добавил в блок
<div id="error">
<code lang="php">
				<?php 
				if( ! empty($errors)) 
					echo array_shift($errors)
				?>
</code>
</div>


Есть ли иные варианты добавления?
Не является ли мой вариант костыльным?
Ответ написан
Ваш ответ на вопрос

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

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