Envoyer mon formulaire par mail
Fermé
Marc
-
Modifié par Chris 94 le 21/11/2011 à 02:45
imperf Messages postés 8 Date d'inscription dimanche 20 novembre 2011 Statut Membre Dernière intervention 27 avril 2015 - 21 nov. 2011 à 23:21
imperf Messages postés 8 Date d'inscription dimanche 20 novembre 2011 Statut Membre Dernière intervention 27 avril 2015 - 21 nov. 2011 à 23:21
A voir également:
- Envoyer mon formulaire par mail
- Yahoo mail - Accueil - Mail
- Publipostage mail - Accueil - Word
- Formulaire de réclamation facebook - Guide
- Gmail envoyer un mail - Guide
- Windows live mail - Télécharger - Mail
2 réponses
sam587
Messages postés
256
Date d'inscription
dimanche 20 novembre 2011
Statut
Membre
Dernière intervention
28 janvier 2016
327
20 nov. 2011 à 19:29
20 nov. 2011 à 19:29
bonjour,
Tu dois utiliser mailto.
Tu dois utiliser mailto.
imperf
Messages postés
8
Date d'inscription
dimanche 20 novembre 2011
Statut
Membre
Dernière intervention
27 avril 2015
Modifié par imperf le 21/11/2011 à 23:22
Modifié par imperf le 21/11/2011 à 23:22
Bonjour! En fait, dans ton code, cette partie est "fausse". C'est le lien vers la page qui traitera l'envoi mais visiblement tu n'as pas son code.
Quelques petites bases bancales mais qui t'aideront à comprendre:
Chacune des cases de ton formulaire se transforme en variable à l'envoi, dont le nom est le nom du champ (nom, prenom, etc), et la valeur ce que le visiteur aura rempli dedans.
Cela veut dire que si tu envoies ta page ...
Ce bout de code créera la variable $nom qui contiendra le nom tapé par ton client. (Sauf que déjà, dans ton formulaire, tu as plusieurs champs qui portent le même nom, ce qui rend le traitement impossible!) Une fois ce détail corrigé, passons au traitement des données. Je vais te donner une exemple hyper basique avec deux variables à envoyer par mail:
Tu as donc ta page du formulaire contenant deux champs nommés "nom" et "prenom". Voici le formulaire très simple, deux champs et un bouton valider:
Le visiteur doit donc juste remplir nom, prenom et envoyer.
Tu remarqueras ici le "send.php". C'est le nom que j'ai donné à la page qui va traiter l'envoi. Et voici ce que "send.php" contiendra:
Cette page envoyera à "BOITE MAIL QUI RECEVRA LE FORMU" (soit ton email) le contenu des champs du formulaire. "NOM DU MAIL" sera l'objet du mail, un nom fixe que tu choisiras ou le contenu d'un champ que le client peut remplir. Cela marche aussi avec "EMAIL DU CLIENT" qui pourait être un champ à remplir (et il y a plutôt intérêt ici), ajoute pour cela un champ email et mets à cet endroit $email.
La partie $Message comprend donc ce que tu recevras par mail à savoir $nom et $prenom. Cette partie est totalement formattable en html, mets-y des alinéas, couleurs etc, organise comme tu veux.
Voici donc les bases. Ajoute le nombre de champs que tu veux, pour afficher son contenu dans ton mail, prends son nom et affiche un dollar devant et comme par magie son contenu sera remplacé.
J'espère que ce n'est pas compliqué ^^" sinon, petit détail pour éviter ton site d'être piraté. Utilise cette ligne dans send.php juste avant $Destinataire pour sécuriser les champs:
Ce qui donnera:
Et cela pour chacun des champs (ça évite aux visiteurs d'envoyer du html).
Et tout ce bordel dans le cas où ton serveur accepte le php ;)
action="cgi-bin/script.pl"
Quelques petites bases bancales mais qui t'aideront à comprendre:
Chacune des cases de ton formulaire se transforme en variable à l'envoi, dont le nom est le nom du champ (nom, prenom, etc), et la valeur ce que le visiteur aura rempli dedans.
Cela veut dire que si tu envoies ta page ...
<INPUT type=text name="nom">
Ce bout de code créera la variable $nom qui contiendra le nom tapé par ton client. (Sauf que déjà, dans ton formulaire, tu as plusieurs champs qui portent le même nom, ce qui rend le traitement impossible!) Une fois ce détail corrigé, passons au traitement des données. Je vais te donner une exemple hyper basique avec deux variables à envoyer par mail:
Tu as donc ta page du formulaire contenant deux champs nommés "nom" et "prenom". Voici le formulaire très simple, deux champs et un bouton valider:
<FORM method="POST" action="send.php"> <input type="text" name="nom"></p> <input type="text" name="prenom"></p> <input type="submit" value="Valider"> </form>
Le visiteur doit donc juste remplir nom, prenom et envoyer.
Tu remarqueras ici le "send.php". C'est le nom que j'ai donné à la page qui va traiter l'envoi. Et voici ce que "send.php" contiendra:
<?php $Destinataire = "BOITE MAIL QUI RECEVERA LE FORMU"; $Sujet = "NOM DU MAIL"; $From = "From:EMAIL DU CLIENT\n"; $From .= "MIME-version: 1.0\n"; $From .= "Content-type: text/html; charset= iso-8859-1\n"; $Message = "Nom du client: $nom</p>Prénom du client: $prenom"; mail($Destinataire,$Sujet,$Message,$From); ?>
Cette page envoyera à "BOITE MAIL QUI RECEVRA LE FORMU" (soit ton email) le contenu des champs du formulaire. "NOM DU MAIL" sera l'objet du mail, un nom fixe que tu choisiras ou le contenu d'un champ que le client peut remplir. Cela marche aussi avec "EMAIL DU CLIENT" qui pourait être un champ à remplir (et il y a plutôt intérêt ici), ajoute pour cela un champ email et mets à cet endroit $email.
La partie $Message comprend donc ce que tu recevras par mail à savoir $nom et $prenom. Cette partie est totalement formattable en html, mets-y des alinéas, couleurs etc, organise comme tu veux.
Voici donc les bases. Ajoute le nombre de champs que tu veux, pour afficher son contenu dans ton mail, prends son nom et affiche un dollar devant et comme par magie son contenu sera remplacé.
J'espère que ce n'est pas compliqué ^^" sinon, petit détail pour éviter ton site d'être piraté. Utilise cette ligne dans send.php juste avant $Destinataire pour sécuriser les champs:
$nom = htmlspecialchars($nom); $prenom = htmlspecialchars($prenom);
Ce qui donnera:
<?php $nom = htmlspecialchars($nom); $prenom = htmlspecialchars($prenom); $Destinataire = "BOITE MAIL QUI RECEVERA LE FORMU"; $Sujet = "NOM DU MAIL"; $From = "From:EMAIL DU CLIENT\n"; $From .= "MIME-version: 1.0\n"; $From .= "Content-type: text/html; charset= iso-8859-1\n"; $Message = "Nom du client: $nom</p>Prénom du client: $prenom"; mail($Destinataire,$Sujet,$Message,$From); ?>
Et cela pour chacun des champs (ça évite aux visiteurs d'envoyer du html).
Et tout ce bordel dans le cas où ton serveur accepte le php ;)
20 nov. 2011 à 19:31