PHP 必填字段

标签 php html css forms fill

我在 PHP 中得到了以下代码:

<?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
}
?>

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

我无法让它检查字段是否为空。我的代码有什么问题?

谢谢

编辑:

<?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:

<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>

最佳答案

使用 isset

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
     }
}

关于PHP 必填字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14999149/

相关文章:

php - 使用 AJAX 和 PHP 从 MYSQL 检索 ID 号,然后使用检索到的 ID 进行 hashchange URL

html - 更改导航栏文本颜色 Bootstrap

html - 使用 CSS/HTML 正确定位 2 个并排图像的方法?

php - 在一个查询中获取作者用户名和上次更新用户名

php - url 不存在时的 file_get_contents

php登录数组问题

javascript - HTML, JS, 只获取元素显示的值

html - 多个 FLOAT DIV 和 BORDER

html - 如何在 HTML 中使用 css 打印 A4 尺寸的纸张(使用经典的 ASP)

html - 如何修复使用 CSS 渲染时图像模糊的问题?