已经提出了很多类似的问题,但找不到我所遇到的确切问题的答案。我有一个完全正常的表单,但我要求某人设计得更好(他做了)现在它不再起作用了。我不知道是什么导致了它。
我假设我的HTML代码表单中有问题,因为.php页面在我的上一页上工作得很好(我完全复制/粘贴)。
有什么想法吗?
<form name="htmlform" method="post" action="html_form_send.php">
<div class="row has-form">
<div class="col-xs-12 col-sm-8 col-sm-offset-2">
<div class="form-group">
<label for="first_name" class="col-sm-3 control-label">Prénom *</label>
<div class="col-sm-9">
<input type="text" class="form-control" id="first_name">
</div>
</div>
<div class="form-group">
<label for="last_name" class="col-sm-3 control-label">Nom *</label>
<div class="col-sm-9">
<input type="text" class="form-control" id="last_name">
</div>
</div>
<div class="form-group">
<label for="email" class="col-sm-3 control-label">Email *</label>
<div class="col-sm-9">
<input type="email" class="form-control" id="email">
</div>
</div>
<div class="form-group">
<label for="telephone" class="col-sm-3 control-label">Téléphone</label>
<div class="col-sm-9">
<input type="text" class="form-control" id="telephone">
</div>
</div>
<div class="form-group">
<label for="comments" class="col-sm-3 control-label">Votre critique *</label>
<div class="col-sm-9">
<textarea class="form-control" rows="6" id="comments"></textarea>
</div>
</div>
<div class="col-xs-12 col-sm-9 col-sm-offset-3 text-center">
<button type="submit" class="btn btn-primary btn-lg btn-block">Envoyer</button>
</div>
</div>
</div>
</form>
答案 0 :(得分:4)
您的输入没有“name”属性为每个输入标记添加“name”属性,其值与“id”属性相同 Php在发布时使用NAME作为标识符。
清除:
如果您尝试从PHP中的POST获取输入值,则必须使用以下代码:
$var = $_POST['IDENTIFIER'];
其中IDENTIFIER
是您要检索的INPUT
或TEXTAREA
或任何其他HTML FORM
元素的“name”属性的值。
答案 1 :(得分:0)
所有输入都需要属性name="first_name"
等等:
<input type="text" class="form-control" id="first_name" name="first_name">
html_form_send.php必须如下:
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$first_name = $_POST['first_name'];
$last_name = $_POST['last_name'];
$email = $_POST['email'];
$telephone = $_POST['telephone'];
$comments = $_POST['comments'];
//preparing mail data
$from = $email;
$to = "yourmail@exemple.com";
$subject = "Sending Form From site";
$message = "First name: $first_name \r\nLast name:$last_name \r\nTelephone: $telephone \r\nComments: $comments";
$headers = 'From: Birthday Reminder <birthday@example.com>' . "\r\n";
//sending
mail($to, $subject, $message, $headers);
}
?>