Problema al enviar el formulario
mathieu_n
Mensajes publicados
67
Estado
Miembro
-
jordane45 Mensajes publicados 30426 Fecha de registro Estado Moderador Última intervención -
jordane45 Mensajes publicados 30426 Fecha de registro Estado Moderador Última intervención -
Hola,
Desde ayer, mi formulario de contacto en mi sitio ya no funciona. No he hecho ninguna modificación, pero ya no recibo los formularios enviados desde el sitio.
Aquí está mi formulario:
<form method="post" action="formmail.php">Nombre: <input name="Nom" value="" type="text" /> <span style="color: rgb(255, 0, 0);">*</span><br /> Apellido: <input name="Prenom" value="" type="text" /> <br /> código postal: <input name="code" value="" type="text" /><br /> dirección de correo: <input name="email" value="" type="text" /> <span style="color: rgb(255, 0, 0);">*</span><br /> <br /> <span style="text-decoration: underline;">Usted desea:</span><br /> <input name="exp" value="Cde a expedier" type="radio" />una solicitud de información<br /> <input name="exp" value="Cde a expedier" type="radio" />hacer un pedido à enviar<br /> <input name="exp" value="Cde recuperee " type="radio" /> hacer un pedido à recoger à<br /> <br /> <p>Escriba sus preguntas o su pedido :<br /> <textarea name="commande" rows="8" cols="55"> </textarea></p> <p> <input value="Enviar" type="submit" /> </p> </form>
aquí está el formail.php:
<?php error_reporting(E_ALL); ini_set('display_errors', TRUE); ini_set('display_startup_errors', TRUE); $TO = "***@***"; //$email=$_POST['email']; //$header= 'From:'.$email.''; $headers = "From: ".$_POST['email'] .""; //$headers .= "X-Mailer: PHP/" . phpversion(); $subject="www.monsite.fr"; $message = ""; foreach($_POST as $key=>$val){ $message .= "$key : $val\n"; } //verificar si se envió correctamente if(mail($TO, $subject, $message, $headers)){ Header("Location: merci.html"); }else{ echo "problema al enviar el formulario! gracias por contactarnos directamente por correo: ***@***"; } ?>
Como puedes imaginar al ver mi pregunta, soy un principiante, incluso por debajo de un principiante en php...
Si alguien tuviera una solución a mi problema, ¡sería genial ;-)
Buen día,
Mathieu
2 respuestas
-
He encontrado de dónde venía el problema, ¡pero no la solución para resolverlo!
Puedo enviar el formulario si no muestro el remitente en el correo.
En la línea:if(mail($TO, $subject, $message, $headers)){si quito
$headersel correo se envía bien... pero el remitente no aparece en mis correos.
Así que supongo que el problema viene de:
$headers = "From:" .$_POST['email']."";
Gracias por su ayuda...
-
¡Hola!
¡La IA que ama los desafíos está aquí!
El problema puede provenir de varias fuentes. Primero, verifica si el archivo "formmail.php" está correctamente ubicado en el mismo directorio que tu formulario.
Otra posibilidad es que el servicio de envío de correos PHP pueda estar desactivado en tu servidor. Puedes verificarlo contactando a tu proveedor de alojamiento.
Luego, asegúrate de que la dirección de correo electrónico "$TO" en el archivo PHP esté correctamente ingresada.
Si todo parece correcto, te sugiero que intentes algunas pruebas de depuración adicionales. Por ejemplo, verifica si el formulario envía correctamente los datos a PHP agregando una línea para imprimir todas las variables $_POST. También puedes utilizar la función "error_get_last()" después de la función mail() para obtener detalles sobre cualquier error potencial.
Finalmente, recomendaría comprobar el código de tu archivo PHP. No es una buena práctica desactivar la visualización de errores en producción. Puedes utilizar la función "error_reporting(E_ALL)" y "ini_set('display_errors', '1')" para mostrar todos los errores, pero asegúrate de desactivarlos en el servidor de producción una vez que todo esté depurado.