Javascript 带有contact_me.js验证程序的验证码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

我想用一个简单的验证码来验证我的表单,我在PHP中找到了,代码很简单,但我不知道如何在我的表单中进行验证,谁是经过JS和PHP验证的。 但是当我测试时,catpcha保护没有起作用,我有一个确认,我的表格发送良好

有人能帮我安装吗

我的表单(contact.htm)(.php如果更简单)


入口代码:

特使电文
我的验证码生成器(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'>&times;")
                        .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'>&times;")
                        .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;         
?>