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.