Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

154
Vistas
2 Formulario de contacto de correo electrónico Validación con código de seguridad en PHP

Tengo problemas para hacer que esto funcione correctamente.

Lo que quiero que suceda es que alguien pueda completar la información proporcionada, pero hay una validación de correo electrónico que es simplemente poner su correo electrónico en Correo electrónico: y se supone que coincide con Verificar correo electrónico: luego, con la esperanza de que lo hayan hecho, escriba y si responden correctamente a la pregunta de spam, que es simplemente "¿cuánto es 5+5?" entonces el formulario se enviará a mi correo electrónico

El problema es que, aunque la validación del correo electrónico está funcionando, la pregunta de spam, incluso si escribes mal la respuesta, el formulario todavía se envía. Lo necesito para que el correo no deseado y la validación del correo electrónico sean correctos o el formulario no se envíe.

¡Espero que esto sea simple para que algunos lo entiendan y me ayuden! Aquí está mi código PHP. Déjame saber lo que estoy haciendo mal.

 <script> <?php $email1=$_POST['Email1']; $email2=$_POST['Email2']; $from=$_POST['Email1']; $email="!YOUREMAIL@GOES.HERE!"; $subject="maintenance Request"; $message=$_POST['Box']; $select=$_POST['Select']; $name=$_POST['Name']; $number=$_POST['Question']; $message="Name: ".$name. "\r\n" ."\r\n" . "Email: " .$from ."\r\n" . "\r\n" . "Comment: " .$message ."\r\n" . "\r\n" . "Selected Machine: " .$select; if($number==10) { } if(filter_var($email1, FILTER_VALIDATE_EMAIL)) { } if (filter_var($email2, FILTER_VALIDATE_EMAIL)) { mail ($email, $subject, $message, "from:".$from); echo 'Thanks You for the Maintenance Request! We will Contact you shortly. '; } else { echo "This ($email2) email address is different from ($email1).\n"; } ?> </script>
over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Si la respuesta a la pregunta de validación es incorrecta, debe imprimir un mensaje y salir del script.

 if ($number != 10) { die("You are not a human!"); }

Además, nunca comprueba si los dos correos electrónicos son iguales.

 if(!filter_var($email1, FILTER_VALIDATE_EMAIL)) { die("Invalid email ($email1)"); } if ($email1 == $email2) { mail ($email, $subject, $message, "from:".$from); echo 'Thanks You for the Maintenance Request! We will Contact you shortly. '; } else { echo "This ($email2) email address is different from ($email1).\n"; }

No es necesario llamar a filter_var() en $email2 . Si es igual a $email1 , entonces debe ser válido. Si no es igual a $email1 , no nos importa si es válido.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda