Je reçois mon formulaire de contact vide

Fermé
interneyt Messages postés 11 Date d'inscription vendredi 21 mars 2014 Statut Membre Dernière intervention 19 septembre 2014 - 21 mars 2014 à 12:01
interneyt Messages postés 11 Date d'inscription vendredi 21 mars 2014 Statut Membre Dernière intervention 19 septembre 2014 - 21 mars 2014 à 17:19
Bonjour,

J'utilise généralement la même base pour créer les formulaires de contact sur mes sites, d'habitude ça fonctionne bien mais pas cette fois ci.
Quand je rempli les champs, je reçois mon formulaire de contact vide. Je cherche mon erreur depuis un moment mais je ne la trouve pas !
Quelqu'un peut-il m'aider ?

Voici mes codes :
mon formulaire en page contact :

<form action="envoi_mail.php" method="get" onsubmit="return test(this.nom,this.prenom,this.email)">
<table>
<tr>
<td height="40" width="100" text align="right">Nom </td>
<td><input type="text" name="nom" size="60"></td>

<td height="40" width="100" text align="right" >Prénom </td>
<td><input type="text" name="prenom" size="60"></td>
</tr>

</br>

<tr>
<td height="40" width="100" text align="right" >Ville </td>
<td><input type="text" name="ville" size="60"></td>

<td height="40" width="100" align="right" >E-mail </td>
<td><input type="text" name="mail" size="60"></td>
</tr>

<br/>

</table>
<table>
<tr>
<td height="40" width="100" text align="right" valign="top" >Message </td>
<td><textarea style="width:755px; height:100px;" name="message" rows="10" size="100"></textarea></td>
</tr>
<tr>
<td height="40" width="100" align="right"><input type="submit" name="envoyer" value="envoyer"></td>
</tr>
</table>
</form>

Mon code php dans mon fichier appelé envoi_mail.php :
<?php
$adresse="contact@monmail.fr";

// titre du message : zone sujet
$nom=$nom;
$prenom=$prenom;
$ville=$ville;
$mail=$mail;
$message=$message;


$sujet="Un mail de votre site Internet";

// contenu du message
$corps ="Bonjour \nUne demande émanant de votre site Internet vient d'être faite : \n";
$corps .= "Nom : ".$nom." \nPrenom : ".$prenom." \nMail : ".$mail." \nVille: ".$ville." \nSujet : ".$message." \n";

// Création de l'entête du message
// cette entete contient l'email de l'expéditeur ainsi que l'email pour la réponse.
$headers = "From: interneyt.fr<contact@monmail.fr>\n";// adresse de retour pour répondre
$headers .= "Return-Path: \n"; // chemin de retour pour les erreurs
$headers .= "cci:contact@monmail.fr\n";

// envoi du mail
mail ($adresse,$sujet,$corps,$headers);
?>

Par avance merci.

4 réponses

cyril1982 Messages postés 110 Date d'inscription vendredi 7 mars 2014 Statut Membre Dernière intervention 19 septembre 2018 12
21 mars 2014 à 14:22
Bonjour,

Avec $_GET tu récupères bien les valeurs ?
0
interneyt Messages postés 11 Date d'inscription vendredi 21 mars 2014 Statut Membre Dernière intervention 19 septembre 2014 1
21 mars 2014 à 14:47
Je ne comprends pas ta question...
Quand tu dis avec $_GET, tu veux parler de la méthode GET ?
Oui, avec le méthode GET, normalement, je récupère bien les valeurs.
0
ReDLoG Messages postés 243 Date d'inscription mardi 12 mars 2013 Statut Membre Dernière intervention 28 octobre 2021 57
21 mars 2014 à 15:43
Bonjour,

>> Oui, avec le méthode GET, normalement, je récupère bien les valeurs.
Apparemment non :
<?php
$nom=$nom;
$prenom=$prenom;
$ville=$ville;
$mail=$mail;
$message=$message;
?>

Normalement tu devrais avoir cette syntaxe dans ton script :
<?php
$nom=$_GET['nom'];
$prenom=$_GET['prenom'];
$ville=$_GET['ville'];
$mail=$_GET['mail'];
$message=$_GET['message'];
?>

Et je te suggère de récupérer les données du formulaires par la méthode POST car la méthode GET ne peut contenir que 255 caractères, alors imagine le message que l'on t'envoie qui fait plus de 255 caractères, il t'en manquera certainement une partie!
Et vérifies également les données du formulaire (PHP et Javascript) que l'on t'envoie sinon tu risques fort d'avoir de mauvaises surprises!
Cdlt.
0
interneyt Messages postés 11 Date d'inscription vendredi 21 mars 2014 Statut Membre Dernière intervention 19 septembre 2014 1
21 mars 2014 à 17:19
Oui, mon erreur était là ! merci beaucoup pour ta réponse claire et rapide !!!
Je ne savais pas que la méthode GET ne pouvait contenir que 255 caractères, j'utiliserai la méthode POST maintenant que je le sais.
Pourtant mes clients reçoivent correctement leurs demandes... Je vais quand même corriger ça sur leur site.
Encore merci à toi !
0