我在html中设计了一个表单,我正在使用php将其发送到我的电子邮箱。表单验证确定,除了它不发送一些信息之外,一切都很好。以下是我的电子邮件:
Name:
Email:
Tel.:
Message: test
因此,当我填写它时,唯一的字段是“消息”字段。其他的是空白的,虽然表格验证和处理。我想在PHP代码中有一些东西。我对php知之甚少,所以需要一些帮助。感谢。
<form action="post.php" method="post">
<div class="form-group">
<label for="name">Name *</label>
<input type="text" class="form-control" id="name"
placeholder="" required="required" oninvalid="this.setCustomValidity('Please enter your name')"
oninput="setCustomValidity('')">
</div>
<div class="form-group">
<label for="email">E-mail *</label>
<div class="input-group">
<span class="input-group-addon">
<span class="glyphicon glyphicon-envelope"></span>
</span>
<input type="email" class="form-control" id="email" placeholder="" required="required"
oninvalid="this.setCustomValidity('please enter your email')" oninput="setCustomValidity('')">
</div>
</div>
<div class="form-group">
<label for="name">phone *</label>
<input type="text" class="form-control" id="phone"
placeholder="" required="required" oninvalid="this.setCustomValidity('please enter your phone')"
oninput="setCustomValidity('')">
</div>
</div>
<div class="col-md-12">
<div class="form-group">
<label for="name">message *</label>
<textarea name="message" id="message" class="form-control"
rows="10" cols="25" required="required" placeholder="" oninvalid="this.setCustomValidity('please enter your message')"
oninput="setCustomValidity('')"></textarea>
</div>
</div>
<div class="col-md-12">
<button type="submit" class="btn btn-primary pull-right" id="btnContactUs">send</button>
</form>
和php代码:
<?php
$addressto = "info@xxx.com";
$subject = "Message from the website";
$content = "Name: ".$_POST['name']."\n"
."Email: ".$_POST['email']."\n"
."Tel.: ".$_POST['phone']."\n"
."Message: ".$_POST['message']."\n";
if(!$_POST['name'] || !$_POST['email'] || !$_POST['message']){
header("Location: contact.html");
}
$email = $_POST['email'];
if (mail($addressto, $subject, $content, 'Od: <' . $email . '>')) {
header("Location: contact-ok.html");
}
?>
答案 0 :(得分:3)
您的输入字段缺少name
属性
id
主要用于JS / CSS操作,而name
将是POST数组中的键。
它们都可以是相同的。因此,message
的工作原理。
请记住,可以轻松绕过JS验证,并且还应该在php中检查用户输入。
<input type="text" class="form-control" id="name" name="name"...>