LoneRay
@LoneRay
Начинающий кодировщик.

Как вывести ответ php в form?

Подскажите пожалуйста как мне решить задачу.
Вот есть форма, после введённых данных обычно нас кидает на новую страницу или она открывается в этой же где заполненяли поля, а как мне сделать чтобы после отправки данных можно было сделать вывод не в отдельной странице, а в блоке div?
Форма
<form action="user.php" method="post" target="error_message">
                        <input name="reg_nickname" type="text" placeholder="Введите имя" required />
                        <input id="id_reg_email" name="reg_email" type="email" placeholder="Введите e-mail" required />
                        <input id="id_reg_pass" name="reg_pass" type="password" placeholder="Введите пароль" required />
                        <input id="id_reg_confirmpass" name="reg_confirmpass" type="password" placeholder="Подтвердите пароль" required />
                        
                        <input type="submit" value="Зарегистрироваться" onclick="return check_email_pass();" style="margin-top:20px;" />
                    </form>

Блок куда надо вывести после нажатия на кнопку
<div id="error_message" style="width:200px; color:red; position:fixed; left:50%; margin-left:-100px; text-align:center;"></div>

Файл user.php
echo "Проверь данные"
  • Вопрос задан
  • 1860 просмотров
Решения вопроса 4
e_snegirev
@e_snegirev
Убираем атрибут action у формы, и на странице, где собирается форма, в пхп коде ставим проверку на полученные данные POST. Если они есть, то пустить на вывод информацию в блок

<? if($_POST): $error = 'Такой емэйл уже зарегистрирован' . filter_input(INPUT_POST, 'reg_email'); ?>
<div id="error_message" style="width:200px; color:red; position:fixed; left:50%; margin-left:-100px; text-align:center;">
<?= $error ?>
</div>
<? endif ?>

<form>
<!-- код формы -->
</form>
Ответ написан
Комментировать
mlnkv
@mlnkv
JavaScript Developer
<?php 
$message = "";
if (count($_POST)) {
  // обрабатываем данные формы
  // задаем значение переменной $message
}
?>

<?php if ($message) { ?>
<div id="error_message" style="width:200px; color:red; position:fixed; left:50%; margin-left:-100px; text-align:center;"></div>
<?php } else { ?>
  <form action="" method="post" target="error_message">
    <input name="reg_nickname" type="text" placeholder="Введите имя" required />
    <input id="id_reg_email" name="reg_email" type="email" placeholder="Введите e-mail" required />
    <input id="id_reg_pass" name="reg_pass" type="password" placeholder="Введите пароль" required />
    <input id="id_reg_confirmpass" name="reg_confirmpass" type="password" placeholder="Подтвердите пароль" required />  
    <input type="submit" value="Зарегистрироваться" onclick="return check_email_pass();" style="margin-top:20px;" />
  </form>
<?php } ?>
Ответ написан
Eridani
@Eridani
Мимо проходил
Используйте Ajax
Ответ написан
Комментировать
LoneRay
@LoneRay Автор вопроса
Начинающий кодировщик.
Всем спасибо кто помог, пришлось использовать ajax.
AJAX Отправка данных form и вывод в div
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы