Formulaire de contact - reception du contenu

Fermé
Matthieu - 22 juil. 2009 à 23:45
gryzzly Messages postés 4608 Date d'inscription lundi 7 novembre 2005 Statut Contributeur Dernière intervention 24 octobre 2020 - 23 juil. 2009 à 11:05
Bonjour,
Je vous sollicite pour régler un problème. Alors voila, j'ai repris un formulaire de contact sur le net, très simple, qui fonctionne jusqu'à ce que je reçoive le mail avec le contenu du contact.
Et le problème c'est qu'il est vide !

J'aimerais savoir de quelle manière reprendre le contenu des champs de contact... Si quelqu'un peu m'aider un peu ça serait très sympa ! Merci d'avance.

Matthieu

-------------------------------------------------
Je vous mets l'extrait de code PHP:

<?

/* Email du destinataire (mettez ici votre email) */
$destinataire = "mon.email@mail.fr";

/* Récupération */
$nom = $_POST['nom'];
$societe = $_POST['societe'];
$tel = $_POST['tel'];
$header = "From: " . $_POST['email'];


/* Vérification */
if ( $nom == "" ) {
echo "Veuillez indiquer un nom.";
$erreur = true;
}
if ( $societe == "" ) {
echo "Veuillez indiquer une societe.";
$erreur = true;
}
if ( $tel == "" ) {
echo "Veuillez indiquer votre numéro de telephone.";
$erreur = true;
}

/* Vérification du mail */
$email_regex = "^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+.[a-z0-9-]";
if ( $email == "" OR !eregi( $email_regex , $email ) ) {
echo "Veuillez indiquer un email valide.";
$erreur = true;
}

/* Envoi du mail */
if ( !$erreur ) {
mail( $destinataire , $objet , $message , $header );
echo "Le message a été envoyé.";
}


?>
A voir également:

5 réponses

gryzzly Messages postés 4608 Date d'inscription lundi 7 novembre 2005 Statut Contributeur Dernière intervention 24 octobre 2020 1 330
22 juil. 2009 à 23:53
On se la joue comment ? On te donne des indices pour que tu comprennes par toi même ou on te mâche le travail de façon inutile pour toi ?

J'opte pour le premier :

1) A quoi ça sert :
mail(); 

2) Que doivent contenir :
$destinataire , $objet , $message , $header

3) Quelles informations veux tu mettre dans le contenu du mail ?
4) Comment concaténer des variables ?

Lorsque tu auras cherché et trouvé la réponse à toutes ces questions, tu trouveras ta solution :o)
0
Merci de répondre si vite !

Je médite et je reviens vers toi un peu plus tard...
0
Merci mec, t'es un crack, j'ai bien compris le mécanisme.
Seulement y'a juste un petit détail qui doit relever de la syntaxe que je n'arrive pas à régler:

Les champs $header, $messages et $objet correspondent bien aux emplacement du mail que je reçois , mais comment faire pour recevoir les infos de deux champs dans un même espace? Avec du code tu vas comprendre :

$email = $_POST['email'];
$objet = $_POST['societe'];
$message = $_POST['tel']; $_POST['Questionnements'];
$header = "From: " . $_POST['email'];

(en gras le chamsp que j'essaye de caler)
Je ne sais pas si j'ai réussi à me faire comprendre. En tous cas, merci !
0
gryzzly Messages postés 4608 Date d'inscription lundi 7 novembre 2005 Statut Contributeur Dernière intervention 24 octobre 2020 1 330
23 juil. 2009 à 08:03
Bon, on y est presque...

Mais apparament tu n'as pas répondu à toutes mes questions :o)

Comment fonctionne la concaténation en php ? (En plus, elle est utilisée dans ta ligne de headers... Comme quoi, ça sert à rien de recopier "betement" !)
0
Bonjour !

A force d'essais répétés, j'ai pu adapter à ma convenance mon mail, merci pour tout encore !

Si tu me permets d'abuser encore de tes conseils, j'ai une dernière chose à te demander: J'aimerais mettre en forme la page de confirmation de mon formulaire (celle qui me confirme "votre message a bien été envoyé", car ça me renvoie sur une page blanche avec le texte brut. Ce que j'aimerais faire c'est insérer du code ou même simplement un tableau pour mettre en forme un minimum ma page de confirmation.

Voila où j'en suis :

/* Envoi du mail */
if ( !$erreur ) {
mail( $destinataire , $objet , $message , $email, $Packs );
echo "Le message a été envoyé.";
}

Merci, bonne journée
0

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

Posez votre question
gryzzly Messages postés 4608 Date d'inscription lundi 7 novembre 2005 Statut Contributeur Dernière intervention 24 octobre 2020 1 330
23 juil. 2009 à 11:05
Plusieurs solutions, d'autres encore ...

- a la place de echo "Le message a été envoyé."; , une redirection

- toujours à la place du echo, une inclusion d'un fichier et/ou contenu

- a la place de Le message a été envoyé., du contenu html. Ex :
echo "<html><head></head><body><h1>Confirmation</h1><p>Le message a bien été envoyé</p></body></html>";

PS : ce serait bien que tu fasses un petit récapitulatif à la fin de la discussion, pour que cette aide te soit vraiment utile... si tu arrives à expliquer simplement, ce sera définitivement acquis :o)
0