EmilioWebber, para implementar captchas en el formulario, hay varios sitios que en 4 pasos, te permiten hacerlo.
Yo personalmente, uso una funcion que desarrolle leyendo tutoriales y haciendo pruebas. Es realmente sencilla. Requiere el uso de sesiones y de las librerias GD de PHP.
Se necesitan dos archivos, y se implementa de la siguiente forma:
captcha.php
Código PHP:
<?php
session_start();
header("Content-type: image/png");
$md5 = md5(microtime() * mktime());
$cadena = substr($md5, rand(5, 25), rand(4, 6)); //selecciona entre 4 y 6 caracteres de la cadena aleatoria de 32, comenzando en una posicion entre 5 y 25
$_SESSION['captcha_sess'] = $cadena;
$captcha = imagecreatefrompng("fondo_captcha.png");
$black = imagecolorallocate($captcha, 0, 0, 0);
$line = imagecolorallocate($captcha,233,239,239);
imageline($captcha,0,0,39,29,$line);
imageline($captcha,40,0,64,29,$line);
imagestring($captcha, 5, 15, 5, $cadena, $black);
imagepng($captcha);
?>
formulario.php
Código PHP:
<form name="contacto" method="post" action="contacto.php">
<div>
<span>Nombre: </span>
<span><input type="text" name="nombre" value="" /></span>
</div>
<br />
<div>
<span>Apellido: </span>
<span><input type="text" name="apellido" value="" /></span>
</div>
<br />
<div>
<span>Mensaje: </span>
</div>
<div>
<span><textarea rows="8" cols="100" name="mensaje"></textarea></span>
</div>
<br />
<br />
<div>
<span><img src="captcha.php" /></span>
<span><input type="text" name="captcha" value="" /></span>
<span class="_250">Introduzca los caracteres de la imagen.</span>
</div>
<br />
<br />
<input type="submit" name="continuar" value="Continuar" />
</form>
Solo te queda, en el archivo que procesa los datos del form, en este caso contacto.php, realizar la comparacion del $_POST['captcha'] con $_SESSION['captcha_sess'].
Leete el manual para entender que hace cada funcion (imagecreatefrompng, etc.) asi lo aprendes. Ya tienes el ejemplo practico.
Espero haber sido de ayuda.
Saludos