Duda: filtrar mensajes de un formulario por texto
Publicado por elhedone (1 intervención) el 06/12/2022 21:42:38
Buenos días,
soy un novato programando (es más, no sé prácticamente nada). Me gustaría saber si, teniendo un formulario en html, puedo evitar que alguien envíe un correo según lo que escriba en alguna de las casillas. El caso es que puse un honeypot en el formulario que ha funcionado bastante bien para evitar spam, pero me siguen llegando mensajes de una persona que usa el mismo nombre en todos los correos. Por eso me gustaría intentar poner una orden en la que, en caso de rellenarse la casilla de nombre con el nombre de esta persona, el mensaje no se enviase. No sé si es posible o si hay una forma mejor de evitar esto.
Muchas gracias de antemano y saludos. Dejo el php del formulario aquí abajo.
<?php
$nombre = $_POST['name'];
$mail = $_POST['email'];
$empresa = $_POST['message'];
$header = 'From: ' . $mail . " \r\n";
$header .= "X-Mailer: PHP/" . phpversion() . " \r\n";
$header .= "Mime-Version: 1.0 \r\n";
$header .= "Content-Type: text/plain";
$mensaje = "Este mensaje fue enviado por " . $nombre . ",\r\n";
$mensaje .= "Su e-mail es: " . $mail . " \r\n";
$mensaje .= "Mensaje: " . $empresa . " \r\n";
$mensaje .= "Enviado el " . date('d/m/Y', time());
$para = '------';
$asunto = '------';
if(isset($_POST['middle_name']) && $_POST['middle_name'] !="")
die();
mail($para, $asunto, utf8_decode($mensaje), $header);
header("Location: ----");
?>
soy un novato programando (es más, no sé prácticamente nada). Me gustaría saber si, teniendo un formulario en html, puedo evitar que alguien envíe un correo según lo que escriba en alguna de las casillas. El caso es que puse un honeypot en el formulario que ha funcionado bastante bien para evitar spam, pero me siguen llegando mensajes de una persona que usa el mismo nombre en todos los correos. Por eso me gustaría intentar poner una orden en la que, en caso de rellenarse la casilla de nombre con el nombre de esta persona, el mensaje no se enviase. No sé si es posible o si hay una forma mejor de evitar esto.
Muchas gracias de antemano y saludos. Dejo el php del formulario aquí abajo.
<?php
$nombre = $_POST['name'];
$mail = $_POST['email'];
$empresa = $_POST['message'];
$header = 'From: ' . $mail . " \r\n";
$header .= "X-Mailer: PHP/" . phpversion() . " \r\n";
$header .= "Mime-Version: 1.0 \r\n";
$header .= "Content-Type: text/plain";
$mensaje = "Este mensaje fue enviado por " . $nombre . ",\r\n";
$mensaje .= "Su e-mail es: " . $mail . " \r\n";
$mensaje .= "Mensaje: " . $empresa . " \r\n";
$mensaje .= "Enviado el " . date('d/m/Y', time());
$para = '------';
$asunto = '------';
if(isset($_POST['middle_name']) && $_POST['middle_name'] !="")
die();
mail($para, $asunto, utf8_decode($mensaje), $header);
header("Location: ----");
?>
Valora esta pregunta


0