让php与表单中的HTML相互配合

让php与表单中的HTML相互配合,php,forms,Php,Forms,我不擅长表格,我遇到了一些麻烦。问题是: 在HTML部分有一个“action”项,我不知道该填充什么。现在是#,但那只是一个占位符 我不知道如何调用php脚本来让它工作 在php部分中有:$from=example@example.com'; 电子邮件地址区域中应该包含哪些内容 php的$body部分看起来好像唯一要发送的是消息。我还希望其余的信息,如俱乐部,出生日期等出现在那里。我是否需要在$body部分单独说明这些项目 我读过各种各样的教程,每一个都让我感到困惑,似乎没有一个能直接解决我的

我不擅长表格,我遇到了一些麻烦。问题是:

  • 在HTML部分有一个“action”项,我不知道该填充什么。现在是#,但那只是一个占位符

  • 我不知道如何调用php脚本来让它工作

  • 在php部分中有:$from=example@example.com'; 电子邮件地址区域中应该包含哪些内容

  • php的$body部分看起来好像唯一要发送的是消息。我还希望其余的信息,如俱乐部,出生日期等出现在那里。我是否需要在$body部分单独说明这些项目
  • 我读过各种各样的教程,每一个都让我感到困惑,似乎没有一个能直接解决我的问题。有人能帮我解决这个问题吗?我非常感激。如果您看到除我上面所述之外的任何其他明显错误,请随时分享这些信息。 提前感谢您的帮助

    HTML:

    <form method="post" action="#">
    <div class="row uniform">
    <div class="6u 12u$(xsmall)">
    
    <label for="name">Full Name</label>
    <input name="name" type="text" class="required" id="name" value="" />
    </div>
    
    <div class="6u$ 12u$(xsmall)">
    <label for="email">Email Address</label>
    <input name="email" type="email" class="required" id="email" value="" />
    </div>
    
    <div class="6u 12u$(xsmall)">
    <label for="date">Date of Birth</label>
    <input name="date" type="text" class="required" id="date" value="" />
    </div>
    
    <div class="6u$ 12u$(xsmall)">
    <label for="age">Age as of July 1, 2016</label>
    <input name="age" type="text" class="required" id="age" value="" />
    </div>
    
    <div class="6u 12u$(xsmall)">
    <label for="phone">Phone Number</label>
    <input name="phone" type="tel" class="required" id="phone" value="" />
    </div>
    
    <div class="12u$">
    <label for="club">Current Club Membership</label>
    <div class="select-wrapper">
    <select name="club" class="required" id="club">
    <option value="">-</option>
    <option value="Colonial Road Runners">Colonial Road Runners</option>
    <option value="Peninsula Track Club">Peninsula Track Club</option>
    <option value="Tidewater Striders">Tidewater Striders</option>
    </select>
    </div>                                                    
    </div>
    
    <div class="12u$">
    <label for="message">Message</label>
    <textarea name="message" id="message" rows="6"></textarea>
    </div>
    
    <div class="12u$">
    <ul class="actions">
    <li><input type="submit" value="Send Message" class="special" /></li>
    <li><input type="reset" value="Reset" /></li>
    </ul>
    </div>
    </div>
    </form>
    
    
    全名
    电子邮件地址
    出生日期
    截至2016年7月1日的年龄
    电话号码
    目前的俱乐部会员
    -
    殖民地的跑步者
    半岛田径俱乐部
    潮水漫游者
    消息
    
    php:

    <?php
        if (isset($_POST["submit"])) {
            $name = $_POST['name'];
            $email = $_POST['email'];
            $date = $_POST['date'];
            $age = $_POST['age'];
            $phone = $_POST['phone'];
            $message = $_POST['message'];
            $from = 'example@example.com'; 
            $to = 'hrsupergp@gmail.com'; 
            $subject = 'New Registration';
    
            $body = "From: $name\n E-Mail: $email\n Message:\n $message";
    
            // Check if name has been entered
            if (!$_POST['name']) {
                $errName = 'Please enter your name';
            }
    
            // Check if email has been entered and is valid
            if (!$_POST['email'] || !filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) {
                $errEmail = 'Please enter a valid email address';
            }
    
    
        if (mail ($to, $subject, $body, $from)) {
            $result='<div class="alert alert-success">Thank You! I will be in touch</div>';
        } else {
            $result='<div class="alert alert-danger">Sorry there was an error sending your message. Please try again later</div>';
        }
    }
    ?>
    

    您的问题1和2与您的操作有关,这是提交表单时要加载的页面。这可以是当前文件(在PHP中,您可以执行例如
    )或直接在脚本
    index.PHP
    中检查数据。所以基本上是指向PHP代码所在的文件

    3只是邮件标题信息,发件人电子邮件地址可能类似于
    “否-reply@yourdomain.com“
    ”info@yourdomain.com“
    或您自己的电子邮件地址,因此当人们在电子邮件客户端中单击“回复”时,它会将其发送到已填写的电子邮件地址。根据下面的评论,这被“回复”的附加标题所推翻

    要将表单所选字段添加到电子邮件正文中,请执行以下操作:

    $message = "This is a string before the contents of $POST['message']" . $message;
    $message .= "This is a string after the contents of $POST['message']"
    
    $body = "From: $name\n E-Mail: $email\n Message:\n $message";
    
    然而,电子邮件是相当乏味的掌握,不正确的标题信息可能会导致电子邮件被标记为垃圾邮件。例如,电子邮件标题中的新行应使用
    “\r\n”
    而不仅仅是
    “\n”

    我的建议是使用一个名为。
    设置起来可能有点麻烦,但现在您不需要处理标题信息。

    目前是的,如果您想在邮件正文中添加传统信息,它只会在正文中包含$\u POST['message'],在创建
    $body
    变量之前,您可以将内容添加到
    $message
    变量中。您对
    $from
    的理解不正确。看一下手册页面上的第二个示例,看看应该如何构造字符串。它不能仅仅是一个电子邮件地址。我仍然不知道如何将表单与脚本绑定。在表单提交后,我更改了加载index.html文件的操作,确实如此。但是,任何时候都不会生成包含表单数据的电子邮件。我错过了什么?html文件不执行php代码,使用php代码所在文件的文件名来验证表单并发送电子邮件。我先尝试了一下,它只是将php文件加载到浏览器中,没有电子邮件。当时我的代码是这样的: