Pb undefined variable
kara0011
-
kara0011 -
kara0011 -
J'essaye de fair un formulaire de contact mais quand je fais envoyer depuis mon server local xamp il me dit :
Notice: Undefined variable: HTTP_POST_VARS in C:\xampp\htdocs\form\envoi.php on line 2
Notice: Undefined variable: HTTP_POST_VARS in C:\xampp\htdocs\form\envoi.php on line 3
Notice: Undefined variable: HTTP_POST_VARS in C:\xampp\htdocs\form\envoi.php on line 4
Notice: Undefined variable: HTTP_POST_VARS in C:\xampp\htdocs\form\envoi.php on line 5
Et me dit aussi que le mail a bien était envoyer même si je reçois rien.
Voila le code PHP:
et voila le code HTMl correspondant au formulaire :
Notice: Undefined variable: HTTP_POST_VARS in C:\xampp\htdocs\form\envoi.php on line 2
Notice: Undefined variable: HTTP_POST_VARS in C:\xampp\htdocs\form\envoi.php on line 3
Notice: Undefined variable: HTTP_POST_VARS in C:\xampp\htdocs\form\envoi.php on line 4
Notice: Undefined variable: HTTP_POST_VARS in C:\xampp\htdocs\form\envoi.php on line 5
Et me dit aussi que le mail a bien était envoyer même si je reçois rien.
Voila le code PHP:
<?php $nom=$HTTP_POST_VARS['nom']; $mail=$HTTP_POST_VARS['mail']; $sujet=$HTTP_POST_VARS['sujet']; $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="sujet"; $destinataire="***@***"; //remplacez "***@***" par votre adresse e-mail $body="$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="http://www.crbc.fr">ici </a></p>
et voila le code HTMl correspondant au formulaire :
<form method="post" action="envoi.php" name="contact" id="contact"> <input class="whform " type="text" name="nom" id="nom" placeholder="Nom Prénom" required /> <input class="whform " type="email" name="mail" id="mail" placeholder="E-mail" required /> <input class="whform " type="text" name="sujet" id="sujet" placeholder="Sujet" required /> <textarea name="message" id="message" placeholder="Taper votre message" required ></textarea> <input type="submit" name="submit" id="envoyer" value="Envoyer" /> </form>
10 réponses
Je m'y attendais. Comme tu tournes en local (enfin je pense), il te faut un serveur SMTP externe pour envoyer le mail. Vérifie tes paramètres XAMPP.
Quelques liens utiles
Trouver un SMTP
https://www.commentcamarche.net/faq/893-parametres-de-serveurs-pop-imap-et-smtp-des-principaux-fai
Tutoriel : Donner le SMTP à XAMPP
http://mickaelbertrand.imagika.fr/web-tutoriel-xampp-parametrer-lenvoi-de-mail-smtp-158
Si le tutoriel ne convient pas, chercher sur Google
https://www.google.be/#q=xampp+configurer+smtp
Quelques liens utiles
Trouver un SMTP
https://www.commentcamarche.net/faq/893-parametres-de-serveurs-pop-imap-et-smtp-des-principaux-fai
Tutoriel : Donner le SMTP à XAMPP
http://mickaelbertrand.imagika.fr/web-tutoriel-xampp-parametrer-lenvoi-de-mail-smtp-158
Si le tutoriel ne convient pas, chercher sur Google
https://www.google.be/#q=xampp+configurer+smtp
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Toujours pas de mail avec xamp aprés les modifications. J'ai même mis les pages sur mon hebergeur pour etre sur que ca venait de xam mais toujours pas de mail. Si vous etes sur que c'est pas le code c'est peut être mon hebergeur qui lui aussi bloque le smtp... je sais pas.
Je crois que c'est le code parceque quand je fait envoyer il met beaucoup de temps a le faire.
Je crois que c'est le code parceque quand je fait envoyer il met beaucoup de temps a le faire.
if (mail($destinataire,$subject,$body,$headers)) { echo "Votre mail a été envoyé<br>"; } else { echo "Une erreur s'est produite"; }
Qu'est-ce qui s'affiche ? Votre mail a été envoyé ou Une erreur s'est produite ?
Quel est ton hébergeur ?
As-tu remplacé les étoiles par ton adresse mail ($destinataire="***@***";) ?
Avant d'appeler la fonction mail(), affiche avec echo tes différentes variables pour être certains qu'elles sont correctes. Attention aussi aux caractères spéciaux : voir htmlspecialchars(), htmlentities() etc.
Regarde aussi dans tes mails indésirables, voire dans les paramètres de ta messagerie pour voir si ta messagerie ne bloque pas les mails reçus.
Quel SMTP as-tu choisi, si tu fais le test en local ? Sur ton hébergeur je ne sais pas comment tu pourrais vérifier le bon fonctionnement du SMTP.
Attention aussi : $sujet n'est pas utilisé, et $body n'existe pas, tu as mis $message
Regarde aussi dans tes mails indésirables, voire dans les paramètres de ta messagerie pour voir si ta messagerie ne bloque pas les mails reçus.
Quel SMTP as-tu choisi, si tu fais le test en local ? Sur ton hébergeur je ne sais pas comment tu pourrais vérifier le bon fonctionnement du SMTP.
Attention aussi : $sujet n'est pas utilisé, et $body n'existe pas, tu as mis $message