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