电子邮件表单的基本PHP?

电子邮件表单的基本PHP?,php,contact,Php,Contact,这是我第一次来这里,也是第一次来PHP。我对html知之甚少,对PHP知之甚少 我正试图建立一个网站从一个免费的模板。除了联系我们表单中的发送电子邮件部分外,一切正常 <form action="send_email.php" method="post"> <div class="form-group">

这是我第一次来这里,也是第一次来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>

表单中没有我键入的姓名或任何内容

那么,你能告诉我代码的问题在哪里吗?我花了几个小时试图解决这个问题,但什么都没用


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

您需要在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>
正如@Dagon所说,你甚至可以直接写:

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

还有一个建议:正确格式化代码,尤其是变量名。学习时养成好习惯比以后更容易:)

您缺少html中的所有
name=“
属性。输入字段和文本区域需要
名称
属性,您也可以跳过变量重新分配。是。常见的错误
id
用于唯一标识DOM中的元素(用于样式和JavaScript),而
name
用于发布输入值。@GolezTrol使用占位符not id:(@Dagon?你的意思是你不必将它分配给$Name和$Email?这是真的,但我认为如果你阅读一次post数组,从那时起进行任何类型转换、转换和验证,并使用可用的、可读的变量,那么代码的可读性就会大大提高。我不同意,这会使内存足迹加倍
<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>
$Name = $_POST['contact_name'];

$Email = $_POST['contact_email'];

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