Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP表单发送,但;“无发件人”;_Php_Forms_Email - Fatal编程技术网

PHP表单发送,但;“无发件人”;

PHP表单发送,但;“无发件人”;,php,forms,email,Php,Forms,Email,我能够收到包含所有信息的电子邮件,但表单中输入的电子邮件地址除外。当我收到电子邮件时,我收到的是“无发件人”,而不是此人的姓名或电子邮件 这是我的HTML: <!-- Contact Form --> <div class="col-xs-12 col-sm-8 col-md-8"> <div id="contant-form-bx" class="contant-form-bx">

我能够收到包含所有信息的电子邮件,但表单中输入的电子邮件地址除外。当我收到电子邮件时,我收到的是“无发件人”,而不是此人的姓名或电子邮件

这是我的HTML:

        <!-- Contact Form -->
        <div class="col-xs-12 col-sm-8 col-md-8">
            <div id="contant-form-bx" class="contant-form-bx">
                <div class="contact-loader"></div>
                <form action="mail.php" id="contact-form" class="contact-form" name="cform" method="post">
                    <div class="row">
                        <div class="col-md-6">  
                            <label for="name" id="name_label">Name</label>
                            <span class="name-missing">Please enter your name!</span>  
                            <input id="name" type="text" value="" name="name" size="30"> 
                        </div> 
                        <div class="col-md-6 columns"> 
                            <label for="e-mail" id="email_label">Email</label>
                            <span class="email-missing">Please enter a valid e-mail!</span> 
                            <input id="e-mail" type="text" value="" name="email" size="30">
                        </div>
                        <div class="col-md-12"> 
                            <label for="message" id="phone_label">Message</label>
                            <span class="message-missing">Say something!</span>
                            <textarea id="message" name="message" rows="7" cols="40"></textarea>
                        </div>
                        <div class="col-md-12 text-center"> 
                            <input type="submit" name="submit" class="button" id="submit_btn" value="Send Message">  
                        </div>
                    </div>
                </form>
            </div>
        </div>

名称
请输入您的姓名!
电子邮件
请输入有效的电子邮件!
消息
说点什么!
这是我的PHP:

    <?php
// declare our variables
$name = $_POST['name'];
$email = $_POST['e-mail'];
$message = nl2br($_POST['message']);

// set a title for the message
$subject = "From $name via WEB";
$body = "From $name, \n\n$message";
$headers = 'From: '.$email.'' . "\r\n" .
    'Reply-To: '.$email.'' . "\r\n" .
    'Content-type: text/html; charset=utf-8' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();

// put your email address here
mail("info@wziel.com", $subject, $body, $headers);
?>

<!--Display a Thank you message in the callback -->
<div class="mail_response">
    <h4>Thank you <?php echo $name ?>!</h4>
    <p>I'll be in touch real soon!</p>
</div> 

非常感谢。
我很快就会联系的


根据您的表格:

$email = $_POST['e-mail'];
应该是这样的:

$email = $_POST['email'];
您将
电子邮件
作为
id
而不是
名称


php查看的是
name
,而不是
id

您正在使用的
$\u POST['e-mail']
e-mail
标记的ID。您应该使用
$\u POST['email']
,因为
name=“email”

根据答案,您可以通过启用
error\u reporting
→ 假设有些东西不起作用。但是输入id是
?id不会传递给php,它只用于客户端任务(javascript、css等)。当表单提交时,传递的唯一内容是
name
的值和字段的实际值。我改变了这一点,但现在电子邮件需要永远发送!有什么帮助吗?@WzielPaniagua此更改不应显著影响发送电子邮件所需的时间。很可能你的电子邮件服务器只是落后了。当我将其改回电子邮件工作状态时,会觉得很奇怪。即时“永远”很好。不会花那么长时间的,因为你23分钟前还没试过……我23分钟前就试过了,收件箱里什么都没有。当我把它改回“电子邮件”时,我马上就收到了-