Pb undefined variable

Fermé
kara0011 - Modifié par pijaku le 27/12/2013 à 11:02
 kara0011 - 26 déc. 2013 à 18:01
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:

<?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

Bilow Messages postés 1022 Date d'inscription samedi 21 août 2010 Statut Membre Dernière intervention 2 août 2015 117
26 déc. 2013 à 14:42
Essaie de remplacer tous les $HTTP_POST_VARS par $_POST
0
ok j'essaye et je te tient au courant
0
j'ai plus le probleme de variable mais je ne reçois toujours pas de mail.
0
Bilow Messages postés 1022 Date d'inscription samedi 21 août 2010 Statut Membre Dernière intervention 2 août 2015 117
26 déc. 2013 à 15:33
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ok je vois ça et te tient a nouveau au courant
0
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.
0
Bilow Messages postés 1022 Date d'inscription samedi 21 août 2010 Statut Membre Dernière intervention 2 août 2015 117
26 déc. 2013 à 16:09
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="***@***";) ?
0
Il dit que mon mail a était envoyer mon hebergeur c'est LWS et oui j'ai bien mis mon mail.
0
Bilow Messages postés 1022 Date d'inscription samedi 21 août 2010 Statut Membre Dernière intervention 2 août 2015 117
26 déc. 2013 à 17:32
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
0
Ok je verrai tout ça ce soir . Je te tiendrais au courant demain. Merci pour ton aide.
0