我有一个表格,填写后数据通过邮件发送。只是无法检索数据。
如何纠正这种情况?
索引.html:
<form name="form1" action="send.php" method="post">
<div class="row">
<div class="col-md-6">
<div class="form-group">
<label for="name">
Name</label>
<input type="text" class="form-control" id="name" placeholder="Enter name" required="required" />
</div>
<div class="form-group">
<label for="email">
Email Address</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="Enter email" required="required" /></div>
</div>
<div class="form-group">
<label for="subject">
Subject</label>
<select id="subject" name="subject" class="form-control" required="required">
<option value="na" selected="">Choose One:</option>
<option value="service">General Customer Service</option>
<option value="suggestions">Suggestions</option>
<option value="product">Product Support</option>
</select>
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<label for="name">
Message</label>
<textarea name="message" id="message" class="form-control" rows="9" cols="25" required="required"
placeholder="Message"></textarea>
</div>
</div>
<div class="col-md-12">
<button type="submit" class="btn btn-primary pull-right" id="btnContactUs">
Send Message</button>
</div>
</div>
</form>
发送.php:
<?php
switch ($_POST['form1']) {
default:
{
$name=$_POST['name'];
$subject=$_POST['subject'];
$email=$_POST['email'];
$mes=$_POST['message'];
}
break;
}
$to="mymail";
$from_email="mail";
$tema="zayavka";
$pismo="Новый пользователь с именем $name отправил сообщение на тему $subject!\r\n
Вот его сообщение: $mes.<br>\r\n
E-mail: $email";
mail_utf8($to,'novaya zayavka',$from_email, $tema, $pismo);
function mail_utf8($to, $from_user, $from_email,$tema, $pismo)
{
$from_user = "=?UTF-8?B?".base64_encode($from_user)."?=";
$tema = "=?UTF-8?B?".base64_encode($tema)."?=";
$headers = "From: $from_user <$from_email>\r\n".
"MIME-Version: 1.0"."\r\n".
'Content-type: text/html; charset="UTF-8"'.'\r\n';
return mail($to, $tema, $pismo, $headers);
}
if($realname)
mail_utf8($to,$from_email, $tema, $pismo);
?>
首先,您的 $_POST 数组根本不应该有 form1 键。您为表单 form1 命名的事实不会影响正在发送的数据数组的结构。其次,您为表单字段分配了 ID,而不是名称。名称成为 POST 数组的键,而不是 ID。也就是说,必须在字段中分配名称属性,而不是在表单中。类似的东西
如果您希望您的 $_POST 数组具有另一个带有元素(例如电子邮件、姓名等)的 form1 数组,以便您可以像这样访问它们
那么你需要将你的字段命名为这样
如果您不需要这个,而只需要将一些表单标签作为单独的值传递,那么您可以使用隐藏字段