首页 > 解决方案 > 试图在我的网站上有一个联系表格,使用 HTML 给我发电子邮件

问题描述

我正在尝试使用一些简单的 php 代码在我的网站上添加联系表格。我确定我忽略了一些小东西,任何帮助将不胜感激!

我担心可能是我在字段中使用 div 而不是在表单中定义它们,但老实说我不确定。

HTML:

<div class="col-sm-12 col-md-6 wow fadeInUp" data-wow-duration="0.8s" data-wow-delay="0.3s">
    <form action="process.php" method="post" id="contactForm" class="single-form quate-form wow fadeInUp" data-toggle="validator">
        <div id="msgSubmit" class="h3 text-center hidden"></div>
        <div class="row">
            <div class="col-md-6 col-sm-12">
                <input name="name" class="contact-name form-control" id="name" type="text" placeholder="First Name" required>
            </div>
            <div class="col-md-6 col-sm-12">
                <input name="name" class="contact-email form-control" id="L_name" type="text" placeholder="Last Name" required>
            </div>
            <div class="col-sm-12">
                <input name="name" class="contact-subject form-control" id="email" type="email" placeholder="Your Email" required>
            </div>
            <div class="col-sm-12">
                <textarea class="contact-message" id="message" rows="6" placeholder="Your Message" required></textarea>
            </div>
            <!-- Submit Button -->
            <div class="btn-form col-sm-12">
                <button type="submit" class="btn btn-fill btn-block" id="form-submit">Send Message</button>
            </div>
        </div>
    </form>
</div>

PHP:

<?php
    $name = $_POST["name"];
    $email = $_POST["email"];
    $message = $_POST["message"];
     
    $EmailTo = "email@email.com";
    $Subject = "Portfolio CV/Resume";
     
    // prepare email body text
    
    $Body .= "Name: ";
    $Body .= $name;
    $Body .= "\n"; 
     
    $Body .= "Email: ";
    $Body .= $email;
    $Body .= "\n";
     
    $Body .= "Message: ";
    $Body .= $message;
    $Body .= "\n";
     
    
    // send email
    $success = mail($EmailTo, $Subject, $Body, "From:".$email);
     
    // redirect to success page
    if ($success){
       echo "success";
    }else{
        echo "invalid";
    } 
?>

编辑:我更改了 name="name" 并收到 405 错误。如果有帮助,我正在将 Ubunut 与 Nginx 一起使用

标签: phphtmlemail

解决方案


试试这个,如果你有同样的问题,请告诉我---

<div class="col-sm-12 col-md-6 wow fadeInUp" data-wow-duration="0.8s" data-wow-delay="0.3s">
    <form action="process.php" method="post" id="contactForm" class="single-form quate-form wow fadeInUp" data-toggle="validator">
        <div id="msgSubmit" class="h3 text-center hidden"></div>
        <div class="row">
            <div class="col-md-6 col-sm-12">
                <input name="name" class="contact-name form-control" id="name" type="text" placeholder="First Name" required>
            </div>
            <div class="col-md-6 col-sm-12">
                <input name="last_name" class="contact-email form-control" id="L_name" type="text" placeholder="Last Name" required>
            </div>
            <div class="col-sm-12">
                <input name="email" class="contact-subject form-control" id="email" type="email" placeholder="Your Email" required>
            </div>
            <div class="col-sm-12">
                <textarea name="message" class="contact-message" id="message" rows="6" placeholder="Your Message" required></textarea>
            </div>
            <!-- Submit Button -->
            <div class="btn-form col-sm-12">
                <button type="submit" class="btn btn-fill btn-block" id="form-submit">Send Message</button>
            </div>
        </div>
    </form>
</div>

process.php

<?php
    $name = $_POST["name"];
    $email = $_POST["email"];
    $message = $_POST["message"];
     
    $EmailTo = "email@email.com";
    $Subject = "Portfolio CV/Resume";
     
    // prepare email body text
    
    $Body .= "Name: ";
    $Body .= $name;
    $Body .= "\n"; 
     
    $Body .= "Email: ";
    $Body .= $email;
    $Body .= "\n";
     
    $Body .= "Message: ";
    $Body .= $message;
    $Body .= "\n";

    
    // send email
    $success = mail($EmailTo, $Subject, $Body, "From:".$email);
     
    // redirect to success page
    if ($success){
       echo "success";
    }else{
        echo "invalid";
    } 
?>

推荐阅读