Показать сообщение после отправки формы.

0

Это не работает так, как хотелось бы, чтобы он работал. Он печатает сообщение в нижней части моего элемента тела, ниже формы. Сообщение должно быть напечатано внутри элемента формы, под кнопкой отправки.

PHP-код

if (mail ($to, $subject, $body, $headers)) {
                echo '<p>Your message has been sent!</p>';
            } else {
                echo '<p>Something went wrong, go back and try again!</p>';
            }

HTML

<form>
<div class="control-group">
  <label class="control-label" for="submit"></label>
    <div class="controls">
     <button>Submit</button>
    </div>
</div>
</form>

Я попытался дать класс эхо-абзацу, но все, что он делает, это добавить еще один абзац ниже формы. Это происходит на одной и той же странице php.

  • 1
    Переместите верхнюю часть phpcode своей страницы и добавьте переменную $Message='<p>Your message has been sent!</p>'; и после кнопки отправки <?php echo $Message;?>
  • 0
    Поместите свой php-код в нужное вам сообщение
Показать ещё 1 комментарий
Теги:

2 ответа

0
Лучший ответ

Может быть, проще объяснить, что echo - это просто output контента. Нет разницы, например, между:

<?php echo '<p>Hello World</p>'; ?>

а также

<p>Hello World</p>

Теперь, когда вы принимаете это во внимание, вы увидите, что каждый отдельный вывод печатается в браузере в том порядке, в котором они были выполнены.

Таким образом, просто так, эхо сообщения должно происходить в том месте, где оно предназначено для записи, то есть внутри формы, противоположной ниже.

1
 <form>
 <div class="control-group">
 <label class="control-label" for="submit"></label>
  <div class="controls">
  <button>Submit</button>     
  <?php 
  // if you want it here 
    if (mail ($to, $subject, $body, $headers)) {
            echo '<p>Your message has been sent!</p>';
        } else {
            echo '<p>Something went wrong, go back and try again!</p>';
        }
     ?>
  </div>
 </div>
 </form>
  • 0
    Я бы пошел по этому пути, потому что если вы выполните действие в другом файле, сообщение будет напечатано ниже содержимого, потому что у него нет позиции в HTML, вы также можете заставить php снова напечатать весь HTML, а затем вы можете повторить сообщение где вы хотите, чтобы эхо

Ещё вопросы

Сообщество Overcoder
Наверх
Меню