首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP必填字段

问PHP必填字段
EN

Stack Overflow用户
提问于 2013-02-21 17:51:57
回答 3查看 479关注 0票数 0

我用PHP编写了以下代码:

代码语言:javascript
复制
<?php
$field_name = $_POST['name'];
$field_email = $_POST['email'];
$field_message = $_POST['message'];

$mail_to = 'info@remydesigns.nl';
$subject = 'Bericht van '.$field_name;

$body_message = 'Van: '.$field_name."\n";
$body_message .= 'E-mail: '.$field_email."\n";
$body_message .= 'Bericht: '.$field_message;

$headers = 'From: '.$field_email."\r\n";
$headers .= 'Reply-To: '.$field_email."\r\n";

$mail_status = mail($mail_to, $subject, $body_message, $headers);

else { ?>
    <script language="javascript" type="text/javascript">
        alert('Bericht mislukt, probeer het nog een keer.');
        window.location = 'index.htm';
    </script>
<?php
}

if ($mail_status) { ?>
    <script language="javascript" type="text/javascript">
        alert('Bedankt voor je bericht.');
        window.location = 'index.htm';
    </script>
<?php
}
?>

无论何时我点击提交,即使没有填写字段,它也会发送一封电子邮件。所以我一直收到人们发来的空邮件..

我不能让它检查字段是否为空。我的代码出了什么问题?

谢谢

编辑:

代码语言:javascript
复制
<?php
if(isset($_POST['name']) && isset($_POST['email']) && isset($_POST['message'])) {
    $field_name = $_POST['name'];
    $field_email = $_POST['email'];
    $field_message = $_POST['message'];

    $mail_to = 'info@remydesigns.nl';
    $subject = 'Bericht van '.$field_name;

    $body_message = 'Van: '.$field_name."\n";
    $body_message .= 'E-mail: '.$field_email."\n";
    $body_message .= 'Bericht: '.$field_message;

    $headers = 'From: '.$field_email."\r\n";
    $headers .= 'Reply-To: '.$field_email."\r\n";

    $mail_status = mail($mail_to, $subject, $body_message, $headers);
}
if ($mail_status) { ?>
    <script language="javascript" type="text/javascript">
        alert('Bedankt voor je bericht.');
        window.location = 'index.htm';
    </script>
<?php
}
else { ?>
    <script language="javascript" type="text/javascript">
        alert('Bericht mislukt, probeer het nog een keer.');
        window.location = 'index.htm';
    </script>
<?php
}
?>

HTML:

代码语言:javascript
复制
<form action="contact.php" method="post">
    <span>Naam</span> <input class="name" name="name" type="text" /> 
    <span>Email</span> <input class="email" name="email" type="text" /> 
    <span>Bericht</span><textarea class="message" name="message"></textarea> 
        <input class="submit" type="submit" value="Submit" />&nbsp;
</form>
EN

回答 3

Stack Overflow用户

发布于 2013-02-21 17:55:43

使用isset

代码语言:javascript
复制
if(isset($_POST['name']) && isset($_POST['email']) && isset($_POST['message'])) {
     $field_name = $_POST['name'];
     $field_email = $_POST['email'];
     $field_message = $_POST['message'];

     $mail_to = 'info@remydesigns.nl';
     $subject = 'Bericht van '.$field_name;

     $body_message = 'Van: '.$field_name."\n";
     $body_message .= 'E-mail: '.$field_email."\n";
     $body_message .= 'Bericht: '.$field_message;

     $headers = 'From: '.$field_email."\r\n";
     $headers .= 'Reply-To: '.$field_email."\r\n";

     $mail_status = mail($mail_to, $subject, $body_message, $headers);

     if ($mail_status) { ?>
         <script language="javascript" type="text/javascript">
             alert('Bedankt voor je bericht.');
             window.location = 'index.htm';
         </script>
     <?php
     }
     else { ?>
         <script language="javascript" type="text/javascript">
             alert('Bericht mislukt, probeer het nog een keer.');
             window.location = 'index.htm';
         </script>
     <?php
     }
}
票数 2
EN

Stack Overflow用户

发布于 2013-02-21 17:55:20

使用下面这样的代码来检查它是否为空,还可以检查isset

代码语言:javascript
复制
<?php

if(empty($_POST['name']) || empty($_POST['email']) || empty($_POST['message']))
    die();
if(isset($_POST['name']) && isset($_POST['email']) && isset($_POST['message'])){
now do something
}
票数 0
EN

Stack Overflow用户

发布于 2013-02-21 17:56:06

试着把代码放在这里面-

代码语言:javascript
复制
if (isset($_POST['submit'])) {
// send email
}

或

代码语言:javascript
复制
if(!empty($_POST)){
// send email
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14999149

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档