jQuery doğrulama + Securimage sorunu

0 Cevap php

I jQuery Validation eklenti kullanarak bazı garip sorunu var. Hepsi burada Firs benim kod:

formvalid.js

var v = jQuery("#sendform").validate({
        rules: {
            /* some other rules */
            captcha: {
                required: true,
                remote: "securimage/process.php"
            }
        },            
        messages: {
            /* some other messages */
            captcha: {
        required:"Security code is required",
        remote:"Security code is incorrect!"
        }
        }
    });

process.php

<?php
/* I tried with and without session_start(). 
Both ways works with same probelm (read next)*/
//session_start();
include_once '../securimage/securimage.php';

$securimage = new Securimage();

if ($securimage->check($_GET['captcha']) == false) 
    echo "false";

else
    echo "true";
?>

sendform.php

<?php
include_once 'securimage/securimage.php';

//echo $_POST['captcha'];

$securimage = new Securimage();
//echo "<br/>".$securimage->getCode();

if($_POST['captcha'] && $securimage->check($_POST['captcha']))
{
    //do sending
}
?>

AJAX isteği ile security code kontrol ediyorum Yani, sorun, ajax çalışıyor, ancak ben formu göndermek olduğum zaman, $securimage->check($_POST['captcha']) sendform.php getirilerindeki false. Sonra uzaktan capctha doğrulama ve viyola $securimage->check($_POST['captcha']) devre dışı bırakmak için çalıştı sendform.php döndürdü true!

Gördüğünüz gibi ben de echo, bazı değerler sendform.php ve sonucu:

Case #1: AJAX captcha validation enabled.

Sonuçlar:

echo $_POST['captcha'];               // User_input_value;
echo $securimage->getCode();          // nothing
$securimage->check($_POST['captcha']) // false

Case #2: AJAX captcha validation disabled.

Sonuçlar:

echo $_POST['captcha'];               // User_input_value;
echo $securimage->getCode();          // code from image
$securimage->check($_POST['captcha']) // true (if equals)

Herkes o iş yapmak için nasıl biliyor?

Herhangi bir tavsiye için teşekkürler.

0 Cevap