Ok, checando tu código "captcha.php" no veo nada mal, lo eh probado funciona bien, crea la imagen con el código captcha y guarda el código en la sesión...
lo único que quedaría es ver como estas guardando el archivo "captcha.php", recuerda que nada, absolutamente nada debe estar antes del "<?php session_start()" ni si quiera algún espacio en blanco o salto de linea nada!!! =)
Ahora, lo que si veo es que en tu formulario (no en el archivo captchademo.php) no estas validando el captcha, así que, no importa si lo llenas o no o si lo llenas mal, este nunca se valida, al final tu código de tu formulario seria así
Código PHP:
Ver original<?php
$form = '
<form action="contacto1.php" method="post" name="Formulario_pedido" id="Formulario_pedido">
<input name="tema" type="text" class="form" id="tema" size="40">
<input name="nombre" type="text" class="form" id="nombre" size="40">
<input name="empresa" type="text" class="form" id="empresa" size="40">
<input name="localidad" type="text" class="form" id="localidad" size="40">
<select name="provincia" size="1" class="form" id="provincia">
<option value="Elige su provincia">-- Elige su provincia --</option>
<option value="Fuera de España">Fuera de España<option>
<option value="Álava">Álava</option>
<option value="Albacete">...</option>
</select>
<input name="pais" type="text" class="form" id="pais" size="40">
<input name="telefono_fijo" type="text" class="form" id="telefono_fijo" size="40">
<input name="movil" type="text" class="form" id="movil" size="40">
<input name="e-mail" type="text" class="form" id="e-mail" size="40">
<textarea name="comentarios" cols="38" rows="5" class="form" id="comentarios">
</textarea>
<strong class="subder">Verificación de la palabra:</strong><br>
Ingresar el texto mostrado en la imagen
<img src="captcha.php" width="100" height="30" vspace="3" border="1"><br>
<input name="tmptxt" type="text" size="22">
<input name="Enviar" type="submit" id="Enviar" value="Enviar" class="boton">
<input name="Borrar" type="reset" id="Borrar" value="Borrar" class="boton">
<input name="action" type="hidden" value="checkdata">
</form>';
echo $form;
}else {
if (!is_empty($_POST['tmptext']) && $_POST['tmptext'] == $_SESSION['tmptxt']) {
//Estoy recibiendo el formulario, compongo el cuerpo
$cuerpo = "Formulario enviado\n";
$cuerpo .= "tema: " . $_POST["tema"] . "\n";
$cuerpo .= "nombre: " . $_POST["nombre"] . "\n";
$cuerpo .= "empresa: " . $_POST["empresa"] . "\n";
$cuerpo .= "localidad: " .$_POST["localidad"] . "\n";
$cuerpo .= "provincia: " . $_POST["provincia"] . "\n";
$cuerpo .= "pais: " . $_POST["pais"] . "\n";
$cuerpo .= "telefono_fijo: " . $_POST["telefono_fijo"] . "\n";
$cuerpo .= "movil: " . $_POST["movil"] . "\n";
$cuerpo .= "e-mail: " . $_POST["e-mail"] . "\n";
$cuerpo .= "comentarios: " . $_POST["comentarios"] . "\n";
//mando el correo...
//doy las gracias por el envio
echo "Gracias por rellenar el formulario. Se ha enviado correctamente. Nos pondremos en contacto en breve.";
}else {
echo 'Vuelve a intentarlo, el código del captcha esta mal';
}
}
?>
Ojo, checa que cambie tu "$HTTP_POST_VARS" por "$_POST", porque?, porque "$HTTP_POST_VARS" ya es obsoleto, y en futuras versiones de PHP dejaran de funcionar, así mismo con "$HTTP_GET_VARS" cambia por "$_GET"....
También checa que ahora estamos verificando la variable "$_POST['tmptext']" el cual es el código del captcha, verificamos que no venga vació y que sea igual al código que se muestra en la imagen, así como debe de estar debería de funcionar, cualquier otro problema no dudes en preguntar =)