Javascript 带有contact_me.js验证程序的验证码PHP
我想用一个简单的验证码来验证我的表单,我在PHP中找到了,代码很简单,但我不知道如何在我的表单中进行验证,谁是经过JS和PHP验证的。 但是当我测试时,catpcha保护没有起作用,我有一个确认,我的表格发送良好 有人能帮我安装吗 我的表单(contact.htm)(.php如果更简单)Javascript 带有contact_me.js验证程序的验证码PHP,javascript,php,captcha,Javascript,Php,Captcha,我想用一个简单的验证码来验证我的表单,我在PHP中找到了,代码很简单,但我不知道如何在我的表单中进行验证,谁是经过JS和PHP验证的。 但是当我测试时,catpcha保护没有起作用,我有一个确认,我的表格发送良好 有人能帮我安装吗 我的表单(contact.htm)(.php如果更简单) 入口代码: 特使电文 我的验证码生成器(captcha.php): 使用JS文件验证我的表单(contact_me.JS): $(函数(){ $(“#contactForm输入,#contact
入口代码:
特使电文
我的验证码生成器(captcha.php):
使用JS文件验证我的表单(contact_me.JS):
$(函数(){
$(“#contactForm输入,#contactForm文本区域”).jqBootstrapValidation({
对,,
submitError:函数($form、event、errors){
//其他错误消息或事件
},
submitSuccess:函数($form,event){
event.preventDefault();//防止默认提交行为
//从表单中获取值
变量名称=$(“输入名称”).val();
var email=$(“输入电子邮件”).val();
var phone=$(“输入电话”).val();
var captcha=$(“输入#验证码”).val();
var message=$(“textarea#message”).val();
var firstName=name;//对于成功/失败消息
//检查名称中是否有空格以显示成功/失败消息
if(firstName.indexOf(“”)>=0){
firstName=name.split(“”).slice(0,-1).join(“”);
}
$.ajax({
url:“source/mail/contact_me.php”,
类型:“POST”,
数据:{
姓名:姓名,,
电话:电话,,
电邮:电邮,,
验证码:验证码,
信息:信息
},
cache:false,
成功:函数(){
//成功信息
$('#success').html(“”);
$('#success>.alert success').html(“×;”)
.附加(“”);
$(“#success>.alert success”)
.append(“谢谢你的留言,我是我的特使”);
$(“#success>.alert success”)
.append(“
您是否愿意接受我的邀请。”);
$(“#success>.alert success”)
.append(“
Votre-adrese-mail-de-contact:”+email+”);
$(“#success>.alert success”)
.附加(“”);
//清除所有字段
$('#contactForm')。触发器(“重置”);
},
错误:函数(){
//失败消息
$('#success').html(“”);
$('#success>.alert danger').html(“×;”)
.附加(“”);
$(“#success>.alert danger”).append(“DésoléM./Mme”+name+”,这是一个简单的消息服务,它是一个加上tard的消息服务商);
$(“#success>.alert danger”).append(“”);
//清除所有字段
$('#contactForm')。触发器(“重置”);
},
});
},
过滤器:函数(){
return$(this).is(“:可见”);
},
});
$(“a[数据切换=\”选项卡\“])。单击(函数(e){
e、 预防默认值();
$(此).tab(“显示”);
});
});
/*单击完全隐藏失败/成功框时*/
$('#name')。焦点(函数(){
$('#success').html('');
});
最后一个PHP文件(contact_me.PHP):
<form method="post" name="sentMessage" id="contactForm" novalidate>
<!-- <div class="row"> -->
<div class="col-md-6">
<div class="form-group">
<input type="text" class="form-control" placeholder="Votre nom *" id="name" required data-validation-required-message="Renseigner votre nom !">
<p class="help-block text-danger"></p>
</div>
<div class="form-group">
<input type="email" class="form-control" placeholder="Votre adresse email *" id="email" required data-validation-required-message="Renseigner une adresse email valide">
<p class="help-block text-danger"></p>
</div>
<div class="form-group">
<input type="tel" class="form-control" placeholder="Votre numéro de téléphone" id="phone">
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<textarea class="form-control" placeholder="Votre message *" id="message" required data-validation-required-message="Rédiger un message"></textarea>
<p class="help-block text-danger"></p>
</div>
</div>
<div class="col-md-12 text-center">
<div class="form-group">
<span>Entrer le code :
<img src="source/inc/captcha.php" style="vertical-align: middle;"/>
<input name="captcha" id="captcha" type="text" class="form-control" step="1" min="0" max="9999" required data-validation-required-message="Renseigner le code à 4 chiffres">
<p class="help-block text-danger"></p>
</span>
</div>
</div>
<div class="clearfix"></div>
<div class="col-lg-12 text-center">
<div id="success"></div>
<button type="submit" class="btn btn-xl">Envoyer message</button>
</div>
<!-- </div> -->
</form>
<?php
session_start();
$code=rand(1000,9999);
$_SESSION["code"]=$code;
$image = imagecreatetruecolor(50, 24);
$background = imagecolorallocate($image, 245, 73, 73); //background color
$forground = imagecolorallocate($image, 255, 255, 255);//text color
imagefill($image, 0, 0, $background);
imagestring($image, 5, 5, 5, $code, $forground);
header("Cache-Control: no-cache, must-revalidate");
header('Content-type: image/png');
imagepng($image);
imagedestroy($image);
?>
$(function() {
$("#contactForm input,#contactForm textarea").jqBootstrapValidation({
preventSubmit: true,
submitError: function($form, event, errors) {
// additional error messages or events
},
submitSuccess: function($form, event) {
event.preventDefault(); // prevent default submit behaviour
// get values from FORM
var name = $("input#name").val();
var email = $("input#email").val();
var phone = $("input#phone").val();
var captcha = $("input#captcha").val();
var message = $("textarea#message").val();
var firstName = name; // For Success/Failure Message
// Check for white space in name for Success/Fail message
if (firstName.indexOf(' ') >= 0) {
firstName = name.split(' ').slice(0, -1).join(' ');
}
$.ajax({
url: "source/mail/contact_me.php",
type: "POST",
data: {
name: name,
phone: phone,
email: email,
captcha: captcha,
message: message
},
cache: false,
success: function() {
// Success message
$('#success').html("<div class='alert alert-success'>");
$('#success > .alert-success').html("<button type='button' class='close' data-dismiss='alert' aria-hidden='true'>×")
.append("</button>");
$('#success > .alert-success')
.append("Merci pour votre message, <strong>il a bien été envoyé</strong>.");
$('#success > .alert-success')
.append("<br>Vous recevrez une réponse dans les meilleurs délais.");
$('#success > .alert-success')
.append("<br>Votre adresse e-mail de contact : <strong>" + email + "</strong>.");
$('#success > .alert-success')
.append('</div>');
//clear all fields
$('#contactForm').trigger("reset");
},
error: function() {
// Fail message
$('#success').html("<div class='alert alert-danger'>");
$('#success > .alert-danger').html("<button type='button' class='close' data-dismiss='alert' aria-hidden='true'>×")
.append("</button>");
$('#success > .alert-danger').append("<strong>Désolé M./Mme " + name + ", il semble que mon serveur de messagerie ne répond pas.. Veuillez réessayer plus tard");
$('#success > .alert-danger').append('</div>');
//clear all fields
$('#contactForm').trigger("reset");
},
});
},
filter: function() {
return $(this).is(":visible");
},
});
$("a[data-toggle=\"tab\"]").click(function(e) {
e.preventDefault();
$(this).tab("show");
});
});
/*When clicking on Full hide fail/success boxes */
$('#name').focus(function() {
$('#success').html('');
});
<?php
session_start();
if(isset($_POST["captcha"])&&$_POST["captcha"]!=""&&$_SESSION["code"]==$_POST["captcha"])
{
$status = "<p style='color:#FFFFFF; font-size:20px'>
<span style='background-color:#46ab4a;'>Votre code captcha est correct.</span></p>";
}else{
$status = "<p style='color:#FFFFFF; font-size:20px'>
<span style='background-color:#FF0000;'>Le code captcha entré ne correspond pas! Veuillez réessayer.</span></p>";
}
echo $status;
// Check for empty fields
if(empty($_POST['name']) ||
empty($_POST['email']) ||
// empty($_POST['phone']) || J'impose pas le moyen de contact alternatif
empty($_POST['catpcha']) ||
empty($_POST['message']) ||
!filter_var($_POST['email'],FILTER_VALIDATE_EMAIL))
{
echo "Aucun arguments fournis !";
return false;
}
$name = strip_tags(htmlspecialchars($_POST['name']));
$email_address = strip_tags(htmlspecialchars($_POST['email']));
$phone = strip_tags(htmlspecialchars($_POST['phone']));
$message = strip_tags(htmlspecialchars($_POST['message']));
$to = 'my@address.com'; // Mon adresse email
$email_subject = "Message Portfolio (web) < $name >";
$email_body = "Source: Web.\n"."\n\nNom: $name\n\nNumero de telephone: $phone\n\nMessage:\n$message";
$headers = "From: noreply@address.com\n";
$headers .= "Repondre a: $email_address";
mail($to,$email_subject,$email_body,$headers);
return true;
?>