Проверка за правилно въведен антиспам код

ss

Registered
Досега, като се въведе антиспам кода и се натисне бутона за изпращане проверявах дали въведения код е верен ето така:
if($kod!==$_COOKIE[imgcodepage])
{
print ("<p>Не сте въвели правилно кода!</p><a href=\"javascript:history.go(-1);\"><< Обратно </a>
");
exit;
}
Но сега преправям цялата форма и я правя с javascript да се проверяват дали са попълнени всички полета. Искам да променя и проверката дали е попълнен правилния антиспам код да става с javascript, но незнам как може да стане. Някой да помогне, че не ми останаха идеи.
 
Ето ти решение с ajax:

javascript файлът:
Код:
function captcha(code) {
  document.getElementById('captchadiv').innerHTML = 'Моля почакайте ....';
  var xmlhttp=false;
  try {
    xmlhttp = new ActiveXObject('Msxml2.XMLHTTP');
  } catch (e) {
    try {
      xmlhttp = new
      ActiveXObject('Microsoft.XMLHTTP');
    } catch (E) {
      xmlhttp = false;
    }
  }
  if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
    xmlhttp = new XMLHttpRequest();
  }
  var url = 'check.php?captcha=' + captcha;
  xmlhttp.open('GET', url, true);
  xmlhttp.onreadystatechange=function() {
    if (xmlhttp.readyState==4) {
      var content = xmlhttp.responseText;
   if( content ){
   document.getElementById('captchadiv').innerHTML = content;
      }
    }
  }
  xmlhttp.send(null)
  return;
}

check.php
Код:
<?
$captcha = addslashes(htmlspecialchars($_GET['captcha']));
$cookiecaptcha = addslashes(htmlspecialchars($_COOKIE['imgcodepage']));
$tof = (($captcha == $cookiecaptcha) ? 'Кодът е верен' : 'Кодът не е верен');
echo $tof;
?>

HTML код:
Код:
<input type="text" name="captcha" onblur="captcha(this.value)" /><div id="captchadiv"></div>

Не съм го тествал, но мисля, че всичко е ок :)
 

Back
Горе