Problème d'envoi de variable par mail via un formulaire

Résolu/Fermé
Shadow45 - Modifié par jordane45 le 6/01/2016 à 16:03
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 - 6 janv. 2016 à 18:08
Bonjour,

Voilà je doit gérer un site web dans lequel il y a un formulaire de contact. Cependant celui-ci n'envoi pas sur mon adresse mail les informations remplit via le formulaire.


Vous trouverez ci-dessous la parti liè au formulaire :
-------------------------------------------------------------------------------

<table width="500" border="0" align="center" cellpadding="0" cellspacing="0">
<form action="envoi.php" method="post" enctype="application/x-www-form-urlencoded" name="formulaire">
<tr>
<td><div align="left">Votre nom :</div></td>
<td colspan="2"><input type="text" name="nom" size="45" maxlength="100"></td>
</tr>
<tr>
<td><div align="left">Société :</div></td>
<td colspan="2"><input type="text" name="societe" size="45" maxlength="100"></td>
</tr>
<tr>
<td width="17%"><div align="left">Votre mail :</div></td>
<td colspan="2"><input type="text" name="mail" size="45" maxlength="100"></td>
</tr>
<tr>
<td><div align="left">Sujet : </div></td>
<td colspan="2"><input type="text" name="objet" size="45" maxlength="120"></td>
</tr>
<tr>
<td><div align="left">Message : </div></td>
<td colspan="2"><textarea name="message" cols="50" rows="10"></textarea></td>
</tr>
<tr>
<td></td>
<td width="42%"><center>
<input type="submit" name="Submit" value="Envoyer">
</center></td>
<td width="41%"><center>
<input type="reset" name="Submit" value="Réinitialiser le formulaire">
</center></td>
</tr>
</form>
</table>


Et ci-dessous celle liè à l'envoi par mail des informations du formulaire :
-------------------------------------------------------------------------------
<body>
<?php 
$nom=$HTTP_POST_VARS["nom"]; 
$societe=$HTTP_POST_VARS["societe"]; 
$mail=$HTTP_POST_VARS["mail"]; 
$objet=$HTTP_POST_VARS["objet"]; 
$message=$HTTP_POST_VARS["message"]; 
////ici on détermine l'expediteur et l'adresse de réponse 
$headers ="From: $nom.  <$mail.>" ; 

$subject="$objet"; 
$destinataire="***@***"; //remplacez "***@***" par votre adresse e-mail
$body="Un mail vous a ete envoye depuis le formulaire de contact du site emauxdebriare.com par: \n Nom=$nom  \n Societe=$societe \n Email=$mail \n Message=$message";
if (mail($destinataire,$subject,$body,$headers)) { 
echo "<p align=\center\>Le mail a bien été envoyé<br>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=\contactformfr.php\>ici
</a></p>"; 
} else { 
echo "<p align=\center\>Une erreur s est produite<br>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=\contactformfr.php\>ici
</a></p>"; 
} 
?></p>
 </body>
</html>

Quelqu'un aurait-il une solution parce que moi je ne sais plus quoi faire !

Merci d'avance



EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici :ICI

Merci d'y penser dans tes prochains messages.
A voir également:

3 réponses

Mimiste Messages postés 1149 Date d'inscription samedi 17 mai 2008 Statut Membre Dernière intervention 6 mars 2016 206
6 janv. 2016 à 15:49
Bonjour

et donc il dit "Le mail a bien été envoyé" mais rien n'est envoyé ?

Ou bien il dit "Une erreur s est produite" ?
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
6 janv. 2016 à 16:04
Bonjour,

Et surtout ..... Tu travailles en LOCAL ou sur un serveur ?

Si en local ... passes tu biens par un logiciel comme WAMP ou EasyPhp ?
Et ...as tu configuré le SMTP ?
0
En faite je reçoit bien le mail mais il est vide j'ai juste ça :

Un mail vous a ete envoye depuis le formulaire de contact du site xxxxx.com par:
Nom=
Societe=
Email=
Message=

Je n'ai pas la valeur des variables qui sont dans le formulaire !

Je travaille sur un serveur d'hébergement mutualisé
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
6 janv. 2016 à 16:45
OK.
Utilises directement POST , et penses à vérifier l'existence des variables via l'écriture ternaire et ISSET.

$nom=$HTTP_POST_VARS["nom"]; 
$societe=$HTTP_POST_VARS["societe"]; 
$mail=$HTTP_POST_VARS["mail"]; 
$objet=$HTTP_POST_VARS["objet"]; 
$message=$HTTP_POST_VARS["message"]; 

A remplacer par :

$nom=$isset($_POST["nom"]) ? $_POST['nom'] : ''; 
$societe=$isset($_POST["societe"]) ? $_POST['societe'] : ''; 
$mail=$isset($_POST["mail"]) ? $_POST['mail'] : ''; 
$objet=$isset($_POST["objet"]) ? $_POST['objet'] : ''; 
$message=$isset($_POST["message"]) ? $_POST['message'] : ''; 


et si ça ne fonctionne toujours pas,
merci d'ajouter cette ligne au début de ta page: (celle qui contient le code d'envoie de mail )

<?php
error_reporting(E_ALL);

//le temps des tests :
echo "<br> Variables POST :<br>";
print_r($_POST);
?>
0
J'ai essayé en faisant ce que tu m'as dit pour les variables, cette fois si je ne reçoit pas de mail.

J'ai rajouter ensuite ce que tu m'as dit en début de ma page d'envoi et voilà ce que ça me mets à l'écran :

ariables POST :
Array ( [$nom] => test [$societe] => test [$mail] => ***@*** [$objet] => test [$message] => Ceci est un test [Submit] => Envoyer ).

Donc là on voit bien que les variables sont rempli mais je ne reçoit aucun mail !
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
6 janv. 2016 à 17:14
Tu peux retirer le enctype

enctype="application/x-www-form-urlencoded"

et re tester ?
0
C'est toujours la même chose, je ne reçoit plus le mail.
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
6 janv. 2016 à 17:48
Et que t'affiche mes lignes de code ?
Et est(ce que tu as qq chose qui s'affiche sur ta page ?
0