Formulaire - mail reçu totalement vide
mattkar
Messages postés
1
Date d'inscription
Statut
Membre
Dernière intervention
-
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
je viens vers vous dans l'espoir de trouver une réponse.
Mon soucis est que le mail que je reçois avec mon formulaire est totalement vide.
En objet est écrit (pas d'objets) et dans "De" est écrit <>
Mon incompréhension viens du fait que j'ai fait un copier/coller d'un autre site que j'ai crée et pour lequel le formulaire marche très bien.
Je vous mets ci-dessous les codes des pages contact.php et envoi.php (j'ai même testé avec contact.html)
PAGE contact.php
PAGE envoi.php
Si quelqu'un arrive à me dire d'où viens l'erreur je lui en suit très reconnaissant.
Merci d'avance a ceux qui prendront le temps de m'aider
EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
Merci d'y penser dans tes prochains messages.
.
je viens vers vous dans l'espoir de trouver une réponse.
Mon soucis est que le mail que je reçois avec mon formulaire est totalement vide.
En objet est écrit (pas d'objets) et dans "De" est écrit <>
Mon incompréhension viens du fait que j'ai fait un copier/coller d'un autre site que j'ai crée et pour lequel le formulaire marche très bien.
Je vous mets ci-dessous les codes des pages contact.php et envoi.php (j'ai même testé avec contact.html)
PAGE contact.php
<form action="envoi.php" method="post" enctype="application/x-www-form-urlencoded" name="formulaire"> <tr> <td colspan="3"><strong>Envoyer un message</strong></td> </tr> <tr> <td width="22%"><div align="left">Votre nom :</div></td> <td colspan="2"><input name="nom" type="text" value="" size="50"></td> </tr> <tr> <td><div align="left">Votre prénom :</div></td> <td colspan="2"><input type="text" name="prénom" size="50" maxlength="100"></td> </tr> <tr> <td><div align="left">Votre téléphone :</div></td> <td colspan="2"><input type="text" name="téléphone" size="50" maxlength="100"></td> </tr> <tr> <td><div align="left">Votre mail :</div></td> <td colspan="2"><input name="mail" type="text" value="" size="50"></td> </tr> <tr> <td><div align="left">Sujet : </div></td> <td colspan="2"><input name="objet" type="text" value="" size="50"></td> </tr> <tr> <td valign="top"><div align="left">Message : </div></td> <td colspan="2"><textarea name="message" cols="50" rows="10"></textarea></td> </tr> <tr> <td></td> <td width="35%"><center> <input type="reset" name="Submit" value="Réinitialiser le formulaire"> </center></td> <td width="43%"><center> <input type="submit" name="Submit" value="Envoyer"> </center></td> </tr> </form>
PAGE envoi.php
<?php $nom=$HTTP_POST_VARS['nom']; $prénom=$HTTP_POST_VARS['prénom']; $téléphone=$HTTP_POST_VARS['téléphone']; $mail=$HTTP_POST_VARS['mail']; $objet=$HTTP_POST_VARS['objet']; $message=$HTTP_POST_VARS['message']; /////voici la version Mine $headers = "MIME-Version: 1.0\r\n"; //////ici on détermine le mail en format text $headers .= "Content-type: text/plain; charset=iso-8859-1\r\n"; ////ici on détermine l'expediteur et l'adresse de réponse $headers .= "From: $nom <$mail>\r\nReply-to : $nom <$mail>\nX-Mailer:PHP"; $subject="$objet"; $destinataire="contact@XXXX-XXXX.fr"; //remplacez "webmaster@votre-site.com" par votre adresse e-mail $body=" $nom $prénom $téléphone $mail $objet $message "; if (mail($destinataire,$subject,$body,$headers)) { echo "Votre mail a été envoyé<br>"; } else { echo "Une erreur s'est produite"; } ?></p> <p align="center">Vous allez bientot etre redirigé vers la page d'acceuil<br> Si vous n'etes pas redirigé au bout de 5 secondes cliquez <a href="../index.html">ici
Si quelqu'un arrive à me dire d'où viens l'erreur je lui en suit très reconnaissant.
Merci d'avance a ceux qui prendront le temps de m'aider
EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
Merci d'y penser dans tes prochains messages.
.
A voir également:
- Formulaire - mail reçu totalement vide
- Whatsapp formulaire opposition - Guide
- Formulaire de réclamation facebook - Guide
- Supprimer page word vide - Guide
- Publipostage mail - Accueil - Word
- Windows live mail - Télécharger - Mail
1 réponse
Bonjour,
1 - Ne pas utiliser de caractères accentués dans le nom des variables !
2 - Tu peux ajouter un print de ta variable POST pour voir si elle contient bien les infos souhaitées.
3 - Penses à vérifier avec la fonction ISSET ou EMPTY que tes variables existent AVANT de les utiliser...
1 - Ne pas utiliser de caractères accentués dans le nom des variables !
2 - Tu peux ajouter un print de ta variable POST pour voir si elle contient bien les infos souhaitées.
3 - Penses à vérifier avec la fonction ISSET ou EMPTY que tes variables existent AVANT de les utiliser...
<?php // Pour les tests : print_r($_POST); //Récupération PROPRE des variables $nom=!empty($_POST['nom']) ? $_POST['nom'] : ''; $prenom=!empty($_POST['prenom']) ? $_POST['prenom'] : ''; $telephone=!empty($_POST['telephone']) ? $_POST['telephone'] : ''; $mail=!empty($_POST['mail']) ? $_POST['mail'] : ''; $objet=!empty($_POST['objet']) ? $_POST['objet']: ''; $message=!empty($_POST['message']) ? $_POST['message'] : ''; /////voici la version Mine $headers = "MIME-Version: 1.0\r\n"; //////ici on détermine le mail en format text $headers .= "Content-type: text/plain; charset=iso-8859-1\r\n"; ////ici on détermine l'expediteur et l'adresse de réponse $headers .= "From: $nom <$mail>\r\nReply-to : $nom <$mail>\nX-Mailer:PHP"; $subject=$objet; $destinataire="contact@XXXX-XXXX.fr"; //remplacez "webmaster@votre-site.com" par votre adresse e-mail $body=" $nom $prenom $telephone $mail $objet $message "; if (mail($destinataire,$subject,$body,$headers)) { echo "Votre mail a été envoyé<br>"; } else { echo "Une erreur s'est produite"; } ?></p> <p align="center">Vous allez bientot etre redirigé vers la page d'acceuil<br> Si vous n'etes pas redirigé au bout de 5 secondes cliquez <a href="../index.html">ici