0

晚上好,对于我的网站,我使用的是邮件表格。显然它是说消息已发送,尽管没有填写任何内容。那时我也没有收到电子邮件。我必须在代码中包含什么,以便在发送之前检查电子邮件、主题和消息是否已填写?谢谢你的帮助!

     <?php
    if (isset($_REQUEST['email']))
    //if "email" is filled out, send email
          {
          //send email
          $email = $_REQUEST['email'] ;
          $subject = $_REQUEST['subject'] ;
          $message = $_REQUEST['message'] ;
          mail("***.****@gmail.com", $subject,
          $message, "From:" . $email);
          echo "Thank you for using our mail form. We will reply as soon as possible.";
          }
    else
          {
          echo "<form method='post' action='mailform.php'>
          Email: <br> <input name='email' type='text'><br>
          Subject: <br> <input name='subject' type='text'><br>
          Message:<br>
          <textarea name='message' rows='15' cols='40'>
          </textarea><br>
          <input type='submit'>
          </form>";
          }
    ?>
4

2 回答 2

0

您需要检查$_REQUEST['email'] != ''而不是对isset($_REQUEST['email'])其他变量执行相同的操作。
该函数isset()检查变量是否有任何值,包括变量是否被定义为空。

于 2014-01-05T20:51:41.727 回答
0
<?php
if (isset($_REQUEST['email']) && isset($_REQUEST['message']) && isset($_REQUEST['subject']))
//if "email" is filled out, send email
      {
      //send email
      $email = $_REQUEST['email'] ;
      $subject = $_REQUEST['subject'] ;
      $message = $_REQUEST['message'] ;
      mail("***.****@gmail.com", $subject,
      $message, "From:" . $email);
      echo "Thank you for using our mail form. We will reply as soon as possible.";
      }
else
      {
      if (isset($_REQUEST['submit']){
          echo 'display error here';
       }
      echo "<form method='post' action='mailform.php'>
      Email: <br> <input name='email' type='text'><br>
      Subject: <br> <input name='subject' type='text'><br>
      Message:<br>
      <textarea name='message' rows='15' cols='40'>
      </textarea><br>
      <input type='submit'>
      </form>";
      }
?>
于 2014-01-05T20:45:29.813 回答