Yo lo hago de esta forma:
Código PHP:
Ver original<?php
//include('funciones.php'); // la funcion cndCrea
/**/
function cdnCrea($tamanio = 10, $munisculas=1, $numeros=1, $maiusculas=0, $especialesValido=0, $especialesInvalido=0, $especialesFuertes=0){
$caracter = "";
if ($munisculas==1) $caracter .= "abcdefghijklmnopqrstuvwxyz";
if ($numeros==1) $caracter .= "0123456789";
if ($maiusculas==1) $caracter .= "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
if ($especialesValido==1) $caracter .= "_-";
if ($especialesInvalido==1) $caracter .= "€@#$%()+={}][*Ç";
if ($especialesFuertes==1) $caracter .= "~^|¬:;";
$grande = $tamanio;
$clave = '';
for ($t=0; $t<$grande; $t++){
}
return $clave;
}
/**/
$_SESSION['ahctpac'] = cdnCrea(6);
imagestring($imagen, 10, 25, 7, $_SESSION['ahctpac'], $texto);
header("Content-type: image/gif"); ?>
lo guardas como capcha.php
--
y luego lo colocas tu etiqueta imagen en tu formulario
Código HTML:
Ver original<img id="cap" src="capcha.php" onclick="actucap();">
para actualizar el capcha con js:
Código Javascript
:
Ver originalfunction actucap(){
obj=document.getElementById("cap");
if (!obj) obj=window.document.all.cap;
if (obj){
obj.src="captcha.php?"+Math.random();
}
}
CON eso creas una session " $_SESSION['ahctpac'] " que luego comparas con lo enviado por el formulario algo asi:
Código PHP:
Ver originalif($_SESSION['ahctpac'] == $_POST['capcha']) {
echo 'son iguales';
} else echo 'no son iguales';