繁体   English   中英

从PHP和HTML联系人表单获取空电子邮件

[英]Getting Empty Emails From PHP & HTML Contact Form

我是Web设计与开发的学生,试图制作一个网站。 我已经使用php和html为网站创建了联系表单。 我是php新手,所以对此一无所知。 我已经从网站复制了一个代码,通过它我收到了一封电子邮件,但为空[没有我在网站联系表上输入的信息]。 这是我的HTML代码[文件名:contact.html]:-

 <div class="login-w3l">    
            <div class="top-img-agileits-w3layouts">
                <h2 class="sub-head-w3-agileits">Contact Us</h2>
                <p>Fillout the form below !</p>
                <div class="login-form">    
                <form action="handler.php" method="post" enctype="multipart/form-data">
                    <input type="text" name="Name" placeholder="First Name" required="" />
                    <input type="text" name="Name" placeholder="Last Name" required="" />
                    <input type="email" name="Email" placeholder="Email" required="" />
                    <input type="text" name="Subject" placeholder="Subject" required="" />
                    <textarea name="Message" placeholder="Message" required=""></textarea>
                    <input type="submit" value="Send">
                </form> 
            </div>
            </div>          


                </div> 
-----End of HTML-----

这是我的PHP代码[文件名:handler.php]:-

<?php

$first_name = $_POST ['first name'];
$last_name = $_POST ['last name'];
$visitor_email = $_POST ['email'];
$message = $_POST ['message'];

$email_from = 'info@wms-wms-wms.tk';

$email_subject = "WMS Contact form";

$email_body = "User First Name :  $first_name \n".
                                        "User Last Name :  $last_name \n".
                                                "User Email :  $visitor_email \n ".
                                                        "User Message : $message \n";

 $to = "wms-wms-wms@outlook.sa";   

 $headers = "From: $email_from \r\n";

 $headers .= "Reply To: $visitor_email \r\n";


 mail($to, $email_subject, $email_body, $headers);

 header("Location: contact.html");

?>

首先,您需要适当地设置表单元素的格式。 添加唯一的nameid属性与表单提交有关。 因此,我更新了您的名称和id元素以匹配您的php脚本正在寻找的内容。

<div class="login-w3l">
    <div class="top-img-agileits-w3layouts">
        <h2 class="sub-head-w3-agileits">Contact Us</h2>
        <p>Fillout the form below !</p>
        <div class="login-form">
            <form action="handler.php" method="post" enctype="multipart/form-data">
                <input type="text" name="first_name" id="first_name" placeholder="First Name" required=""/>
                <input type="text" name="last_name" id="last_name" placeholder="Last Name" required=""/>
                <input type="email" name="email" id="email" placeholder="Email" required=""/>
                <input type="text" name="subject" id="subject" placeholder="Subject" required=""/>
                <textarea name="message" id="message" placeholder="Message" required=""></textarea>
                <input type="submit" value="Send">
            </form>
        </div>
    </div>
</div> 

之后,您现在应该使用先前填写的表单元素来填充您的变量。

这是您编辑的PHP实际可用的代码:

<?php

$first_name = $_POST['first_name'];
$last_name = $_POST['last_name'];
$visitor_email = $_POST['email'];
$message = $_POST['message'];
$subject = $_POST['subject'];

....

?>

确保将nameid属性设置为小写且没有空格。

也不要在$_POST[]之间添加空格。

尝试使用:

<div class="login-w3l">
    <div class="top-img-agileits-w3layouts">
        <h2 class="sub-head-w3-agileits">Contact Us</h2>
        <p>Fillout the form below !</p>
        <div class="login-form">
            <form action="handler.php" method="post" enctype="multipart/form-data">
                <input type="text" name="first_name" id="first_name" placeholder="First Name" required=""/>
                <input type="text" name="last_name" id="last_name" placeholder="Last Name" required=""/>
                <input type="email" name="email" id="email" placeholder="Email" required=""/>
                <input type="text" name="subject" id="subject" placeholder="Subject" required=""/>
                <textarea name="message" id="message" placeholder="Message" required=""></textarea>
                <input type="submit" value="Send">
            </form>
        </div>
    </div>
</div>

PHP:

<?php

$first_name = $_POST['first name'];
$last_name = $_POST['last name'];
$visitor_email = $_POST['email'];
$message = $_POST['message'];

$email_from = 'info@wms-wms-wms.tk';

$email_subject = "WMS Contact form";

$email_body = "User First Name :  $first_name \n".
              "User Last Name :  $last_name \n".
              "User Email :  $visitor_email \n ".
              "User Message : $message \n";

 $to = "wms-wms-wms@outlook.sa";   

 $headers = "From: $email_from \r\n";

 $headers .= "Reply To: $visitor_email \r\n";


 mail($to, $email_subject, $email_body, $headers);

 header("Location: contact.html");

?>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM