首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP联系人表单空白数据和未知发件人

PHP联系人表单空白数据和未知发件人
EN

Stack Overflow用户
提问于 2015-08-01 21:48:24
回答 2查看 96关注 0票数 0

你好,我已经在我的网站上做了一个联系人表单,但即使用户没有键入任何详细信息并按下提交按钮,它也会给我发送一封空白电子邮件,其中没有来自未知发件人的任何内容。

有人知道为什么会这样吗?我已经添加了表单验证,所以它不应该发送任何东西。

HTML代码:

代码语言:javascript
复制
<form action="mail.php" method="POST">
<font color="red">*</font> Name <input type="text" name="name" required>
<font color="red">*</font> Phone <input type="text" name="phone" required>
<font color="red">*</font> Email <input type="text" name="email" required>
<font color="red">*</font> Message <input type="text" name="message" placeholder="I am looking for..." required><br />
<input type="image" src="images/Landing_Pages/submit.png" border="0" alt="Submit" />
</form>

PHP代码:

代码语言:javascript
复制
<?php $name = $_POST['name'];
    $phone = $_POST['phone'];
    $preferred = $_POST['preferred'];
    $email = $_POST['email'];
    $formcontent="From: $name \n Phone: $phone \n Email: $email \n Message: $message \n Preferred Contact: $preferred \n Email: $email";
    $recipient = "bwebb@webbmaster.com.au";
    $subject = "New Request Southbank";
    $mailheader = "From: $email \r\n";
    mail($recipient, $subject, $formcontent, $mailheader) or die("Error!");
    ?>

EN

回答 2

Stack Overflow用户

发布于 2015-08-01 21:52:04

必须检查post数据是否为空

代码语言:javascript
复制
 if (!empty($name) && !empty($phone) && !empty($preferred) && !empty($email)) {
      mail($recipient, $subject, $formcontent, $mailheader) or die("Error!");
 }

编辑

代码语言:javascript
复制
<?php
    $name = $_POST['name'];
    $phone = $_POST['phone'];
    $message = $_POST['message'];
    $preferred = $_POST['preferred'];
    $email = $_POST['email'];
    $formcontent="From: $name \n Phone: $phone \n Email: $email \n Message: $message \n Preferred Contact: $preferred \n Email: $email";
    $recipient = "bwebb@webbmaster.com.au";
    $subject = "New Request Southbank";
    $mailheader = "From: $email \r\n";
    if (!empty($name) && !empty($phone) && !empty($message) && !empty($preferred) && !empty($email)) {
        mail($recipient, $subject, $formcontent, $mailheader) or die("Error!");
    }
?>
票数 4
EN

Stack Overflow用户

发布于 2015-08-01 21:55:25

做一些类似的事情:

代码语言:javascript
复制
$errorflag = 0 ;
if(empty($name)){$errorflag = 1 ;$error = "Input your Name plz!"; }; 
if(empty($phone)){$errorflag = 1 ;$error = "Input phone"; }
...
if(!$errorflag) {
    @mail($recipient, $subject, $formcontent, $mailheader) or die("Error!");
}

检查您需要的每一个输入,然后发送

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31762559

复制
相关文章

相似问题

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