Форма PHP после отправки сообщения - PullRequest
0 голосов
/ 31 марта 2011

Я использую скрипт PHP для отправки электронной почты в базу данных,

после отправки пользователем, я делаю небольшую проверку и отправляю ее.

все работает просто отлично,но вместо того, чтобы отправить пользователя обратно на ту же страницу с пустым текстовым полем, я хочу добавить ярлык с надписью «Отправлено успешно».Мне удалось это сделать, но проблема в том, что когда я просто обновляю страницу, не нажимая кнопку «Отправить», я все равно получаю сообщение, успешно отправленное… Это небольшая часть моего кода:

<form action="<?php echo $editFormAction;?>" method="post" name="form1" id="form1">
      <table align="center">
        <tr valign="baseline">
          <td nowrap align="right">Email:</td>
          <td><span id="sprytextfield1">
          <input type="text" name="Email" id="Email" value="" size="32">
          <input type="submit" value="Submit"><br/>
          <div id="confirm">
          <?php
            if(isset($_POST['Email']))
                echo "<font color='green' size='5'><b>Submited Successfuly!</b></font><br/>";
          ?>
          </div>
          <span class="textfieldRequiredMsg"><font size="+2"><b>Insert an Email Address</b></font></span>
          <span class="textfieldInvalidFormatMsg"><font size="+2"><b>Invalid Email Address!</b></font></span>
          </span>
          </td>
        </tr>
      </table>
      <input type="hidden" name="MM_insert" value="form1">
  </form>

Ответы [ 3 ]

0 голосов
/ 31 марта 2011

Есть 2 способа сделать это.

  1. Отправьте форму, используя AJAX. Страница не будет перезагружена после отправки.

  2. Используйте сеансы для сохранения этого сообщения, затем перезагрузите страницу с заголовком Location:, затем отобразите сообщение и удалите его из сеанса.

0 голосов
/ 11 марта 2014

Вам нужно сбросить переменную поста после сообщения diaplay

Подано успешно!
"; снят с охраной ($ _ POST [ 'электронной почты']; ?>
0 голосов
/ 31 марта 2011

Попробуйте

if(!empty($_POST['Email'])) {
     //successful submit
}

empty проверит, является ли значение пустой строкой.

...