我正在试图找出一种简单的方法来显示消息是否以联系方式发送。在成功或失败的那一刻,它将重定向到指定的成功或失败页面。我要做的只是重定向,可能显示div,或模态或弹出,但我不知道如何在PHP中这样做。
形式:
<div class="col-lg-7 col-sm-7 contactboxform">
<form action="contact_me.php" method="POST" id="contactform">
<input type="text" name="name" placeholder="Name..." class="input-text">
<input type="text" name="phone" placeholder="Phone Number..." class="input-text">
<input type="email" name="email" placeholder="E-mail Address..." class="input-text">
<input type="checkbox" name="interested">
<textarea name="message" placeholder="What would you like to say?" class="input-text text-area" rows="7"></textarea>
<button type="submit" id="subbtn" class="btn btn-default btn-lg">Submit</button>
</form>
</div>
PHP:
// send email
if (!empty($name) && !empty($email) && !empty($phone) && !empty($message)) {
$success = mail($emailTo, $subject, $body, "From: <$emailFrom>");
}
if ($success){
header('Location: success.html');
}
else {
header('Location: failed.html');
}
//redirect to success page
所以我只是不确定如何在PHP中正确地说成功,显示特定的div / popup。
提前致谢
答案 0 :(得分:1)
您可以尝试创建div
,然后在其中插入来自AJAX请求的响应。
例如,添加到您的HTML代码:
<div id="form_status"></div>
单击提交按钮时,执行AJAX请求:
<button type="submit" id="subbtn" class="btn btn-default btn-lg" onClick="validateForm();">Submit</button>
validateForm
功能可以是:
function validateForm()
{
var status = $('div#form_status');
var form = $('form#contactform');
$.ajax({
url: 'your-php-file.php?'+form.serialize()
}).done(function(data){
status.html(data);
});
}
在your-php-file.php
上,您可以使用$_GET['input_name']
访问表单中的所有数据,其中input_name
是表单上输入的name
。
这样,您在your-php-file.php
上打印的所有内容都将打印到div#form_status
,而无需刷新页面。