预先感谢您的帮助。
在 HTML/CSS/JS 网站上,我正在使主题提供的联系表单工作正常,但我似乎无法让电话号码字段工作。我已经尝试过不使用 sanitize、更改 id,似乎没有任何效果。
HTML:
<section class="contact-page">
<div class="container">
<div class="section-title text-center">
<div class="section-title__icon">
<img src="assets/images/icon/section-title-icon.png" alt="">
</div>
<span class="section-title__tagline">Contact with us now</span>
<h2 class="section-title__title">Feel free to write gardon <br> anytime</h2>
</div>
<div class="contact-page__form-box">
<form action="/assets/contact-form-handler.php" class="contact-page__form contact-form-validated"
method="post">
<div class="row">
<div class="col-xl-6 col-lg-6 col-md-6">
<div class="contact-page__form-input-box">
<input type="text" id="name" placeholder="Your name" name="visitor_name" pattern=[A-Z\sa-z]{3,20} required>
</div>
</div>
<div class="col-xl-6 col-lg-6 col-md-6">
<div class="contact-page__form-input-box">
<input type="email" id="email" placeholder="Email address" name="visitor_email" required>
</div>
</div>
<div class="col-xl-6 col-lg-6 col-md-6">
<div class="contact-page__form-input-box">
<input type="text" id="visitor_phone" placeholder="Phone" name="visitor_phone">
</div>
</div>
<div class="col-xl-6 col-lg-6 col-md-6">
<div class="contact-page__form-input-box">
<select class="selectpicker" aria-label="Default select example">
<option selected>Select service</option>
<option value="1">Select Service 01</option>
<option value="2">Select Service 02</option>
<option value="3">Select Service 02</option>
</select>
</div>
</div>
</div>
<div class="row">
<div class="col-xl-12">
<div class="contact-page__form-input-box text-message-box">
<textarea name="visitor_message" id="visitor_message" name="visitor_message" placeholder="Write a message"></textarea>
</div>
<div class="contact-page__form-btn-box">
<button type="submit" class="thm-btn contact-page__form-btn">Send a Message</button>
</div>
</div>
</div>
</form>
<div class="result"></div>
</div>
</div>
</section>
PHP contact-form-handler.php
<?php
if($_POST) {
$visitor_name = "";
$visitor_email = "";
$email_title = "";
$visitor_phone = "";
$visitor_message = "";
$email_body = "<div>";
if(isset($_POST['visitor_name'])) {
$visitor_name = filter_var($_POST['visitor_name'], FILTER_SANITIZE_STRING);
$email_body .= "<div>
<label><b>Visitor Name:</b></label> <span>".$visitor_name."</span>
</div>";
}
if(isset($_POST['visitor_email'])) {
$visitor_email = str_replace(array("\r", "\n", "%0a", "%0d"), '', $_POST['visitor_email']);
$visitor_email = filter_var($visitor_email, FILTER_VALIDATE_EMAIL);
$email_body .= "<div>
<label><b>Visitor Email:</b></label> <span>".$visitor_email."</span>
</div>";
}
if(isset($_POST['email_title'])) {
$email_title = filter_var($_POST['email_title'], FILTER_SANITIZE_STRING);
$email_body .= "<div>
<label><b>Reason For Contacting Us:</b></label> <span>".$email_title."</span>
</div>";
}
if(isset($_POST['visitor_phone'])) {
$concerned_department = filter_var($_POST['visitor_phone'], FILTER_SANITIZE_NUMBER_INT);
$email_body .= "<div>
<label><b>Phone Number:</b></label> <span>".$visitor_phone."</span>
</div>";
}
if(isset($_POST['visitor_message'])) {
$visitor_message = htmlspecialchars($_POST['visitor_message']);
$email_body .= "<div>
<label><b>Visitor Message:</b></label>
<div>".$visitor_message."</div>
</div>";
}
$recipient = "[email protected]";
$email_body .= "</div>";
$headers = 'MIME-Version: 1.0' . "\r\n"
.'Content-type: text/html; charset=utf-8' . "\r\n"
.'From: ' . $visitor_email . "\r\n";
if(mail($recipient, $email_title, $email_body, $headers)) {
echo "<p>Thank you for contacting us, $visitor_name. You will get a reply within 24 hours.</p>";
} else {
echo '<p>We are sorry but the email did not go through.</p>';
}
} else {
echo '<p>Something went wrong</p>';
}
?>
如果有人能指出我正确的方向,那就太好了。
提前致谢。
已尝试更改 HTML 和 PHP 文件中的 ID 和名称。还尝试删除 sanitize,并尝试将访问者电话添加到名称框中,由于某种原因,PHP 文件无法从 HTML 文档中获取它。
无论我如何获得它,电子邮件都会很好地提取其他数据,而电话号码仍然是空的。
在代码部分:
if(isset($_POST['visitor_phone'])) {
$concerned_department = filter_var($_POST['visitor_phone'], FILTER_SANITIZE_NUMBER_INT);
$email_body .= "<div><label><b>Phone Number:</b></label> <span>".$visitor_phone."</span></div>";
}
Ypou 将电话号码信息分配给“$concerned_department”,但随后打印出“$visitor_phone”。
顺便说一句,出于多种原因,您绝对不想将电话号码清理为整数。它可能以零开头,有时人们会输入空格,在某些国家/地区他们会输入标点符号......