简体   繁体   中英

validate captcha using jQuery and php

I have a form in php which contains captcha code in it. I need to validate the captcha using jQuery. If the captcha is wrong the form as display an alert saying the captcha you have entered is wrong. Please tell me how can I validate it using jQuery. Here is the code.When I add below code it shows be an error undefined _SESSION. How can I solve this.

Please help me how can I validate captcha using jQuery

 $(function() { $("#XISubmit").click(function(){ var photo= document.forms["XIForm"]["photo"].value; var cap = '<?php echo $_SESSION["pass"]; ?>' // try this if (photo==null || photo=="" || photo !=cap) { alert("Please Enter captcha"); return false; } else { document.getElementById("XIForm").submit(); } }); }); 
 <div class="formLeft"> <h4>Admission</h4> <form name="XIForm" id="XIForm" method="POST" action="pdf/pdf.php"> <label>Security Validation</label> <img src="captcha_image.php" alt=""/> <input type="text" name="photo" maxlength="60" size="30"/> <br><br> </form> 

captcha_image.php

<?
// *** CAPTCHA image generation ***
// *** http://frikk.tk ***

session_start();

// *** Tell the browser what kind of file is come'n at 'em! ***
header("Content-Type: image/jpeg");

// *** Send a generated image to the browser ***
die(create_image());

// *** Function List ***
function create_image()
{
    // *** Generate a passcode using md5
    //  (it will be all lowercase hex letters and numbers ***
    $md5 = md5(rand(0,9999));
    $pass = substr($md5, 10, 5);

    // *** Set the session cookie so we know what the passcode is ***
    $_SESSION["pass"] = $pass;

    // *** Create the image resource ***
    $image = ImageCreatetruecolor(100, 20);

    // *** We are making two colors, white and black ***
    $clr_white = ImageColorAllocate($image, 255, 255, 255);
    $clr_black = ImageColorAllocate($image, 0, 0, 0);

    // *** Make the background black ***
    imagefill($image, 0, 0, $clr_black);

    // *** Set the image height and width ***
    imagefontheight(15);
    imagefontwidth(15);

    // *** Add the passcode in white to the image ***
    imagestring($image, 5, 30, 3, $pass, $clr_white);

    // *** Throw in some lines to trick those cheeky bots! ***
    imageline($image, 5, 1, 50, 20, $clr_white);
    imageline($image, 60, 1, 96, 20, $clr_white);

    // *** Return the newly created image in jpeg format ***
    return imagejpeg($image);

    // *** Just in case... ***
    imagedestroy($image);
}
?>

please check have started your session or not use

session_start();

or check whether $_SESSION["pass"] is storing any value or not

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM