电子邮件表格的基本PHP?

时间:2015-06-10 21:17:35

标签: php contact

这是我第一次来这里,也是第一次使用PHP。我对html和PHP的零知识知之甚少。

我正在尝试使用免费模板设置网站。除了联系我们表格中的发送电子邮件部分外,一切正常。

<form action="send_email.php" method="post">

                                                <div class="form-group">
                                                    <!--<label for="contact_name">Name:</label>-->
                                                    <input type="text" id="contact_name" class="form-control" placeholder="Name" />
                                                </div>
                                                <div class="form-group">
                                                    <!--<label for="contact_email">Email:</label>-->
                                                    <input type="text" id="contact_email" class="form-control" placeholder="Email Address" />
                                                </div>
                                                <div class="form-group">
                                                    <!--<label for="contact_message">Message:</label>-->
                                                    <textarea id="contact_message" class="form-control" rows="9" placeholder="Write a message"></textarea>
                                                </div>
                                                <button type="submit" class="btn btn-primary">Send</button>

                                        </form>

模板构建器说我必须创建自己的send_email.php文件,我尽力了解它,这是我从谷歌找到的,它是如何创建send_email.php的指南

<?php


$where_form_is="http".($HTTP_SERVER_VARS["HTTPS"]=="on"?"s":"")."://".$SERVER_NAME.strrev(strstr(strrev($PHP_SELF),"/"));



$Name = $_POST['Name'];

$Email = $_POST['Email Address:']; // This is the name= from the form

$Message = $_POST['Write a message:'];

$sendthis="Name ".$Name."// This compiles all info into a single string
Email Address ".$Email."
Write a message: ".$Message."
";
$sendthis = stripslashes($sendthis);



mail("myemail@gmail.com","Email sent via www.mywebsite.com",$sendthis,"From: customer");


header("Refresh: 0;url=http://mywebsite.com");
?>

好吧,当我试图测试电子邮件时。我收到了电子邮件,然而,其中没有任何内容。只有

Name // This compiles all info into a single string
Email Address
Write a message:

我没有在表单中输入任何名称或任何内容。

那么,请问您能告诉我代码的问题在哪里?我试图解决它几个小时但没有任何作用。

提前谢谢你。现在我真的不知道如何解决这个问题。

1 个答案:

答案 0 :(得分:2)

您需要在html中添加name个属性:

<form action="send_email.php" method="post">
    <div class="form-group">
        <input type="text" name="contact_name" id="contact_name" class="form-control" placeholder="Name" />
    </div>
    <div class="form-group">
        <!--<label for="contact_email">Email:</label>-->
        <input type="text" name="contact_email" id="contact_email" class="form-control" placeholder="Email Address" />
    </div>
    <div class="form-group">
        <textarea name="contact_message" id="contact_message" class="form-control" rows="9" placeholder="Write a message"></textarea>
    </div>
    <button type="submit" class="btn btn-primary">Send</button>
</form>

然后你会将它们放在$_POST数组中:

$Name = $_POST['contact_name'];

$Email = $_POST['contact_email'];

$Message = $_POST['contact_message'];

正如@Dagon所说,你甚至可以直接写:

$sendthis = "Name " . $_POST['contact_name'] . "\n"
            . "Email Address " . $_POST['contact_email'] . "\n"
            . "Write a message: " . $_POST['contact_message'] . "\n";

也只是一个建议:正确格式化您的代码,尤其是变量名称。你学习的时候比以后更容易养成良好的习惯:)