我正在处理网站的联系表单,但我遇到了问题。我需要在包含电话号码的表单中添加一个字段。我已将该字段添加到HTML和PHP脚本中,它发送“电话号码:”但不是实际值。
HTML
<form action="php/contact-form.php" id="contactForm" type="post">
<div class="row">
<div class="form-group">
<div class="col-md-6">
<label>Uw naam</label>
<input type="text" value="" data-msg-required="Vul alstublieft uw naam in." maxlength="100" class="form-control" name="name" id="name">
</div>
<div class="col-md-6">
<label>Uw emailadres</label>
<input type="email" value="" data-msg-required="Vul alstublieft uw emailadres in." data-msg-email="Voer alstublieft een correct emailadres in." maxlength="100" class="form-control" name="email" id="email">
</div>
</div>
</div>
<div class="row">
<div class="form-group">
<div class="col-md-6">
<label>Uw telefoonnummer</label>
<input type="text" value="" data-msg-required="Vul alstublieft uw telefoonnummer in." maxlength="100" class="form-control" name="phone" id="phone">
</div>
<div class="col-md-6">
<label>Onderwerp</label>
<input type="text" value="" data-msg-required="Vul alstublieft een onderwerp in." maxlength="100" class="form-control" name="subject" id="subject">
</div>
</div>
</div>
<div class="row">
<div class="form-group">
<div class="col-md-12">
<label>Uw bericht</label>
<textarea maxlength="5000" data-msg-required="Vul alstublieft uw bericht in." rows="10" class="form-control" name="message" id="message"></textarea>
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<input type="submit" value="Verstuur" class="btn btn-primary btn-lg" data-loading-text="Laden...">
</div>
</div>
</form>
PHP
<?php
session_cache_limiter('nocache');
header('Expires: ' . gmdate('r', 0));
header('Content-type: application/json');
// Enter your email address below.
$to = 'email@removedforprivacyreasons.com';
$subject = $_POST['subject'];
if($to) {
$name = $_POST['name'];
$email = $_POST['email'];
$fields = array(
0 => array(
'text' => 'Naam',
'val' => $_POST['name']
),
1 => array(
'text' => 'Emailadres',
'val' => $_POST['email']
),
2 => array(
'text' => 'Telefoonnummer',
'val' => $_POST['phone']
),
3 => array(
'text' => 'Bericht',
'val' => $_POST['message']
)
);
$message = "";
foreach($fields as $field) {
$message .= $field['text'].": " . htmlspecialchars($field['val'], ENT_QUOTES) . "<br>\n";
}
$headers = '';
$headers .= 'From: ' . $name . ' <' . $email . '>' . "\r\n";
$headers .= "Reply-To: " . $email . "\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=UTF-8\r\n";
if (mail($to, $subject, $message, $headers)){
$arrResult = array ('response'=>'success');
} else{
$arrResult = array ('response'=>'error');
}
echo json_encode($arrResult);
} else {
$arrResult = array ('response'=>'error');
echo json_encode($arrResult);
}
?>
我忽略了什么?
答案 0 :(得分:0)
好像您在手机输入上使用type="text"
。可能不是核心问题,但您可以尝试使用数字类型:
<input type="number" name="phone" min="5" max="15">
即使它不能解决您的问题,它仍然是更清洁的方式(具有一些优势,如在移动设备上显示数字键盘)。
希望这会有所帮助:)
答案 1 :(得分:0)
您要将表单作为获取数据发送,请尝试更改type =&#34; post&#34; to method =&#34; post&#34;