Foros del Web » Programando para Internet » PHP »

Formulario PHP problema con Pluscaptcha

Estas en el tema de Formulario PHP problema con Pluscaptcha en el foro de PHP en Foros del Web. Hola a todos! TEngo una duda con los formularios, estoy creando una pagina web y me gustaría añadir un captcha a mi formulario. Me hice ...
  #1 (permalink)  
Antiguo 29/01/2013, 09:26
 
Fecha de Ingreso: enero-2013
Ubicación: Valladolid
Mensajes: 4
Antigüedad: 11 años, 3 meses
Puntos: 0
Exclamación Formulario PHP problema con Pluscaptcha

Hola a todos! TEngo una duda con los formularios, estoy creando una pagina web y me gustaría añadir un captcha a mi formulario.
Me hice una cuenta con Pluscaptcha y me dieron 2 codigos, 1 va en el formulario y otro en el archivo PHP dinámico que redirecciona el formulario a mi correo.

<?php

$mail='[email protected]';


$nombre = $_POST['nombre'];
$email = $_POST['email'];
$mensaje = $_POST['mensaje'];


$thank="contacto.php";

$message = "
nombre:".$nombre."
email:".$email."
mensaje:".$mensaje."";

if (mail($mail,"consulta",$message))
print "<script>alert('Mensaje enviado correctamente')</script>";
print("<script>window.location.replace('contacto.p hp');</script>");
?>
//SEGUN ESTO CUANDO HACEN CLICK EN ENVIAR HABIENDO RELLENADO LOS CAMPOS APARECE UNA VENTANA QUE CONFIRMA EL ENVIO DE MENSAJE, PERO MI CAPTCHA NO FUNCIONA. Me dice el staff de PLUSCAPTCHA QUE HAGA LO SIGUIENTE:
Lo que tienes que hacer con el IF, más específicamente es reemplazar el “echo” y las comillas o mejor dicho el texto que viene luego, por la acción que tu quieras que haga PHP.
Reemplaza el echo de “$r == 1” con lo que quieres que haga el formulario en caso de acertar y el echo “$r == 0” con lo que quieres que haga cuando falla en la respuesta.

¿Exactamente que hay que poner?

<?php
$limpiado =strip_tags(stripslashes(htmlentities(addslashes(t rim($_POST["uidus"])))));
$datosent = explode("///",$limpiado); if($datosent[0] != ''){
if($datosent[1] == 'c'){$host = 'sys.pluscaptcha.com';}else{
$HostReg = array('sys.agartha.us','sys.loquees.biz','sys.ispe ct.ws'); $host =$HostReg[$datosent[1]];}
$r = file_get_contents('http://'.$host.'/r?iduso='.$datosent[0].'');
if($r == '-2'){ echo 'PlusCaptcha system mistake';
}elseif($r == '-1'){ echo 'UUID nonexistent or not received >(form input named: uidus)';
}elseif($r == '0'){ echo 'Not matched with the position';
}elseif($r == '1'){ echo 'He made';
}}?>

Saludos y gracias.
  #2 (permalink)  
Antiguo 29/01/2013, 16:48
 
Fecha de Ingreso: abril-2010
Ubicación: Ping: BSAS - Arg
Mensajes: 791
Antigüedad: 14 años
Puntos: 25
Respuesta: Formulario PHP problema con Pluscaptcha

Víctor soy Denis del Equipo de PlusCaptcha,

Como te expliqué por correo, lo que tienes que editar es el segundo código. Editando el IF por la acción PHP que corresponda y que quieras realizar.

Dentro del IF, tienes que poner tu mensaje, correo smtp, archivo a subir, etc, etc.

Te dejo el manual oficial de IF en PHP:
http://php.net/manual/es/control-structures.if.php

Y también puedes utilizar Switch, que básicamente es casi lo mismo:
http://php.net/manual/es/control-structures.switch.php

Por favor, si sigues con dudas, continua preguntando al correo en el cual lo vienes haciendo. Noto que quizás no tienes mucha experiencia en el desarrollo web, en tal caso, te recomiendo una lectura liviana y/o un curso de php minimanente introductor.

PlusCaptcha es símple, muy simple, y eso nos diferencia de los demás, pero requiere un mínimo conocimiento de PHP.

Cordialmente,
Denis - PlusCaptcha Team.

Etiquetas: php+ajax+formularios
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:16.