21 Novembre 2017 à 05:37:49

Auteur Sujet: Formulaire PHP et envoi par email  (Lu 24762 fois)

Damien

  • Rédacteur Admin
  • Intarissable
  • *****
  • Messages: 2988
  • Points gagnés: 7
    • Voir le profil
    • aide informatique
Formulaire PHP et envoi par email
« le: 23 Janvier 2007 à 13:38:02 »
Vous avez été nombreux à réagir et à me demander des extensions des précédents tutoriaux concernant les formulaires PHP, et cela fait toujours plaisir que vous portiez un si grand intérêt à nos tutoriaux. Dans le précédent tutoriel, je vous expliquais comment réaliser un formulaire PHP, HTML, CSS et envoyer les données du formulaire dans une base de données MySQL.
Sur votre demande, nous allons maintenant voir comment envoyer ces mêmes données par email. Pour cela, nous allons utiliser le même formulaire que précedemment, mais la différence est que vous allez recevoir les données entrées par un utilisateur sur votre adresse email et non dans une base de données.
N'hésitez pas à vous reporter aux précédents tutoriaux pour la création préalable du formulaire dont nous allons nous servir ici : la partie Formulaire HTML et la partie Formulaire CSS.

Lire la suite de Formulaire PHP et envoi par email
« Modifié: 29 Janvier 2008 à 23:22:57 par damien »
Cordialement,
Damien

Tutoriels informatique

pat57

  • Nouveau membre
  • *
  • Messages: 2
  • Points gagnés: 0
    • Voir le profil
Re : Formulaire PHP et envoi par email
« Réponse #1 le: 08 Février 2007 à 02:21:30 »
Bonjour,

J'ai réalisé un formulaire qui est analysé et validé par le biais d'un fichier php puis envoyé par email avec une mise en forme html. Tout fonctionne bien jusque là. Les problèmes surgissent à la réception des mails.

1. Sur Outlook Express le code html est apparent et le texte non formaté !

2. Sur Hotmail (l'adresse d'envoi) le courriel est bien formaté. Mais si je réponds à l'expéditeur (moi par exemple) la réponse (lue par Thunderbird) contient le code html apparent et le texte du formulaire n'est plus formaté.

Auriez-vous quelques conseils à me donner ? Le problème viendrait-il des logiciels de courrier électronique ou du code html ?

D'avance je vous remercie.

patrice

Damien

  • Rédacteur Admin
  • Intarissable
  • *****
  • Messages: 2988
  • Points gagnés: 7
    • Voir le profil
    • aide informatique
Re : Formulaire PHP et envoi par email
« Réponse #2 le: 08 Février 2007 à 12:23:28 »
Bonjour,

Ca vient un peu des deux certainement. En fait il faut être prudent avec les mails en html car beaucoup de clients mail bloquent le html pour la sécurité (pour ne pas que du code s'execute). C'est donc la raison pour laquelle votre code s'affiche bien sur hotmail mais ne s'affichera pas sur thunderbird.
C'est aussi en rapport étroit avec l'en-tête du mail que vous envoyez pour bien définir quel type de données va se trouver dans le corp du mail.
Cordialement,
Damien

Tutoriels informatique

pat57

  • Nouveau membre
  • *
  • Messages: 2
  • Points gagnés: 0
    • Voir le profil
Re : Formulaire PHP et envoi par email
« Réponse #3 le: 08 Février 2007 à 18:19:52 »
Bonjour Damien et merci pour la réponse. Voici donc une partie de mon code de traitement :
<?php
$adresse
.="monadresse@mail.net";
$from.="From: $prenom $nom <$email>\r\n";
$from.="Reply-To: $prenom $nom <$email>\n";
$from.="X-priority:3\n";
$sujet.="$sujet1 $sujet2 $sujet3 $sujet4 $sujet5";
$texte.="<html>";
$texte.="

    <p>&nbsp;</p>
    <table width='100%'>
              <tr>
                <td width='50%'>
    <b>
$prenom <span style='font-variant: small-caps'>$nom</span></b>
                </td>
                <td width='50%'>
                <p align='right'>
$codepost <span style='font-variant: small-caps'>$commune</span>
                </td>
              </tr>
              <tr>
                <td width='50%'>&nbsp;</td>
                <td width='50%'>
                <p align='right'><i>
$pays</i></td>
              </tr>
            </table>
<p align=center><b><span style='font-variant: small-caps'>
$sujet</span></b></p>
<p align=center>&nbsp;</p>
<p align=center><font color='#000066'>
<i>du :</i>&nbsp;&nbsp; 
            <font color='#FF0000'><b>
$datedebut</b></font>&nbsp;&nbsp;<font color='#000066'><i>au :</i></font>&nbsp;&nbsp;<font color='#FF0000'><b>$datefin</b>
            </font></p>


    

<br>
<b>N.B. :</b>&nbsp; <i>
$contenumail</i> 

"
;
$texte.="</html>";
$from.="MIME-Version: 1.0\r\n";
$from.="Content-Type: text/html";  
if (
mail($adresse,$sujet,$texte,$from))
echo(
"<center><font color=blue><br><br><br><h2>Le formulaire a bien été envoyé.<br><br>Nous vous répondrons dès que possible.</h2></font>
<br><br><a href=/>Cliquez ici pour revenir à l'accueil</a></center>"
);
else
echo(
"<center><font color=red><br><br><br><h2>Problème à l'envoi du mail... Veuillez réessayez ultérieurement.");
?>


Le code ci-dessus serait-il responsable de mes déboires à propos de la mauvaise interprétation html des mails reçus dans thunderbird ou outlook express ? Existe-t-il un code plus universel qui permette une présentation visuellement soignée des informations collectées par formulaire puis envoyées par mail ?
« Modifié: 08 Février 2007 à 19:50:37 par pat57 »

lyseblake

  • Nouveau membre
  • *
  • Messages: 2
  • Points gagnés: 0
    • Voir le profil
Re : Formulaire PHP et envoi par email
« Réponse #4 le: 15 Février 2007 à 17:20:07 »
Bonjour,

Tout d'abord, merci pour ce tutoriel...
Je connais peu php et j'ai réussi à personnaliser mon formulaire assez facilement...

J'ai juste un petit quelquechose qui bloque, je n'arrive pas à obtenir les renseignements qui correspondent aux cases a cocher ..

J'obtiens quelquechose comme ceci :  Nature de la demande : a,

Dans traitement.php, j'ai :
$demande = $_POST['demande'];
$sqldemande = '';
for ($i=0; $i<count($demande); $i++)
{
$sqldemande .= $demande[$i];
$sqldemande .= ', ';
}
et
$mail_corps .= "Nature de la demande : $sqldemande\n\n\n";
Et dans formulaire.html :

<p class="titre">Nature de la demande</p>

<fieldset id="message">
  <p id="demande">
    <label> Vous souhaitez obtenir des informations concernant : </label>
    <br>
  <input type="checkbox" name="demande[]" value="1"/>
  1
  <input type="checkbox" name="demande[]" value="2"/>
  2<br/>
  <input type="checkbox" name="demande[]" value="3"/>
  3;
  <input type="checkbox" name="demande[]" value="autre demande"/> 
  autre demande
  </p>

C'est surement un truc bête, mais j'ai beau relire et relire le tutoriel, faire des modifs...je vois pas.  :?Quelqu'un peut m'aider ?svp..
Merci

Lyse
 
« Modifié: 16 Mars 2007 à 13:03:52 par lyseblake »

lyseblake

  • Nouveau membre
  • *
  • Messages: 2
  • Points gagnés: 0
    • Voir le profil
Re : Formulaire PHP et envoi par email
« Réponse #5 le: 29 Mars 2007 à 13:56:34 »
Personne ? :(

nenette

  • Nouveau membre
  • *
  • Messages: 2
  • Points gagnés: 0
    • Voir le profil
Re : Formulaire PHP et envoi par email
« Réponse #6 le: 12 Avril 2007 à 09:23:21 »
Bonjour,

je suis toute nouvelle dans ce monde de création site web et formulaire.

c'est pourquoi je vais certainement poser une questio, bête mais avec quelle outils on réalise ce formulaire?

merci pour votre réponse,

nenette


Damien

  • Rédacteur Admin
  • Intarissable
  • *****
  • Messages: 2988
  • Points gagnés: 7
    • Voir le profil
    • aide informatique
Re : Re : Formulaire PHP et envoi par email
« Réponse #7 le: 12 Avril 2007 à 10:36:26 »
Bonjour,

c'est pourquoi je vais certainement poser une questio, bête mais avec quelle outils on réalise ce formulaire?

N'importe quel editeur html/php fera l'affaire. Comme dans ce tutoriel j'explique la façon de le réaliser en code (et non avec des menus d'un logiciel), il est même possible de faire le formulaire avecun simple éditeur de texte (notepad...).
Pour exécuter les pages et scripts, par contre il vous faudra  un serveur web bien entendu, comme wamp5 par exemple.
Cordialement,
Damien

Tutoriels informatique

Damien

  • Rédacteur Admin
  • Intarissable
  • *****
  • Messages: 2988
  • Points gagnés: 7
    • Voir le profil
    • aide informatique
Re : Re : Formulaire PHP et envoi par email
« Réponse #8 le: 12 Avril 2007 à 10:47:34 »
Bonjour Lyse,

J'ai juste un petit quelquechose qui bloque, je n'arrive pas à obtenir les renseignements qui correspondent aux cases a cocher ..
 

Désolé je n'avais pas vu la question avant.
Votre code a l'air correct, et d'ailleurs il fonctionne chez moi puisque si je coche les 4 cases, j'ai bien la ligne suivante en sortie :
Citer
Nature de la demande : 1, 2, 3, autre demande,

Votre problème est peut-être quelque part ailleurs dans votre code, je ne sais pas. En tout cas, pour bien voir ce que contient votre variable $_POST et ainsi peut-être trouver le problème par vous même, après la ligne $demande = $_POST['demande'];, vous pouvez essayer de rajouter : print_r($demande);Ceci va vous afficher le contenu de votre tableau $demande. Ainsi chez moi ça affiche :
Array ( [0] => 1 [1] => 2 [2] => 3 [3] => autre demande )
bon courage
Cordialement,
Damien

Tutoriels informatique

nenette

  • Nouveau membre
  • *
  • Messages: 2
  • Points gagnés: 0
    • Voir le profil
Re : Re : Re : Formulaire PHP et envoi par email
« Réponse #9 le: 12 Avril 2007 à 13:11:35 »
Bonjour,

c'est pourquoi je vais certainement poser une questio, bête mais avec quelle outils on réalise ce formulaire?

N'importe quel editeur html/php fera l'affaire. Comme dans ce tutoriel j'explique la façon de le réaliser en code (et non avec des menus d'un logiciel), il est même possible de faire le formulaire avecun simple éditeur de texte (notepad...).
Pour exécuter les pages et scripts, par contre il vous faudra  un serveur web bien entendu, comme wamp5 par exemple.

bonjour,

merci pour votre réponse.

je vais m'y atteler de ce pas.

a bientôt

nenette

eatget

  • Nouveau membre
  • *
  • Messages: 10
  • Points gagnés: -1
    • Voir le profil
Re : Formulaire PHP et envoi par email
« Réponse #10 le: 04 Mai 2007 à 22:06:05 »
Bonsoir,
Je découvre ce jour ce nouveau tuto à propos de l'envoi par email à partir du formulaire php.
Je trouve cette idée géniale, bravo !
Ayant déjà réussi le tuto précédent (formulaire PHP), je me suis lancé dans celui-ci.
J'ai donc modifié mon traitement.php en respectant scrupuleusement les consignes indiquées dans le tuto mais j'avoue que je n'ai pas tout compris au paragraphe 4 (erreur fréquente).

Lorsque j'execute mon formulaire, j'obtiens le message suivant :

Warning: mail(): Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in d:\mes documents\sites internet\sigahra\traitement.php on line 62
Une erreur est survenue lors de l'envoi du formulaire par email


je suppose que c'est l'erreur fréquente dont fait mention le tuto. J'ai donc relu le paragraphe mais je ne comprend toujours pas ce que signifie la phrase: "il faut que PHP ait accès au service sendmail sur le serveur, au moment de la compilation"
Où doit-on configurer PHP pour pouvoir envoyer des mails avec un serveur mail ?
J'utilise EasyPHP.

Merci d'avance de votre aide

Bernard

eatget

  • Nouveau membre
  • *
  • Messages: 10
  • Points gagnés: -1
    • Voir le profil
Re : Formulaire PHP et envoi par email Help! help! help!
« Réponse #11 le: 10 Mai 2007 à 16:55:16 »
Bonjour,

N'ayant pas réussi à intéresser qqu'un avec mon message je persiste car j'ai vraiment besoin de debugger ce formulaire.

Lorsque j'exécute en local j'ai le message suivant :
Warning: mail(): Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in d:\mes documents\sites internet\sigahra\traitement.php on line 62
Une erreur est survenue lors de l'envoi du formulaire par email

Lorsque j'exécute sur le distant, il m'est demandé si je veux exécuter ou si je veut enregistrer le traitement.php.
Petite précision, j'ai codé formulaire.htm dans une page web et je lance en cliquant sur le lien.

Merci d'avance de votre aide :D
 

eatget

  • Nouveau membre
  • *
  • Messages: 10
  • Points gagnés: -1
    • Voir le profil
Re : Formulaire PHP et envoi par email
« Réponse #12 le: 12 Mai 2007 à 09:27:14 »
Bonjour,
Il n'y a rien de pire qu'un forum qui ne vit pas. Cela semble être le cas de celui-ci  :x

Maintenant que je suis au milieu du gué avec mon formulaire, quelqu'un pourrait-il m'en sortir.
J'ai une livraison à faire moi et mon client ne va pas comprendre quand je vais lui dire "euh ! j'attend une réponse sur un forum, on doit me dépanner rapidement...!" surtout quand l'attente dure depuis plusieurs jours.

Alors voilà, j'ai exposé mon problème, si je n'ai pas de réponse durant le week-end, je serais bien obligé d'aller voir sur un autre site où on propose de l'aide sur des formulaire PHP qui envoi un mail.

 :( :o :?

Touta

  • Rédacteur Admin
  • Intarissable
  • *****
  • Messages: 3735
  • Points gagnés: 52
  • Pas de réponses par MP et par Mail aux questions.
    • Voir le profil
Re : Re : Formulaire PHP et envoi par email
« Réponse #13 le: 12 Mai 2007 à 12:49:03 »

J'ai une livraison à faire moi et mon client ne va pas comprendre quand je vais lui dire "euh ! j'attend une réponse sur un forum, on doit me dépanner rapidement...!" surtout quand l'attente dure depuis plusieurs jours.


Cher eatget,

Je pense que vous vous trompez de cible car lorsqu'on est un professionnel qui se fait payer pour livrer un produit et que l'on s'appuie sur des bénévoles pour ne pas payer de la sous-traitance et bien on manque sérieusement de crédibilité et de compétences.

Si vous êtes si pressé par une livraison faites appel une entreprise qui vous rédigera le code dont vous avez besoin et répercutez ce cout sur le tarif du client.

Quant à notre forum il vit à son rythme dans la mesure des disponibilités des membres qui le compose et nous sommes peu de rédacteurs.

Je ne m'occupe pas de cette section mais je trouve votre aplomb sans commune mesure et  vous ne devriez pas prendre de commandes dont vous ne pouvez pas assurer le résultat.

Je ne connais pas l'avis de mes collègues, mais vous devriez montrez un peu plus de respect et de courtoisie à l'égard des forums que vous fréquentez et j'encourage mes collègues programmeurs à ne pas vous donner de solution "gratuite".

Cordialement.
« Modifié: 12 Mai 2007 à 23:26:34 par Touta »
Touta
Je n'ai rien à dire mais je le dis quand même...

Cie d'Arc de Pantin
Karaté Club de Tremblay-en-France

Mehdi

  • Intarissable
  • *****
  • Messages: 2504
  • Points gagnés: 0
    • Voir le profil
    • Tutoriel informatique
Re : Formulaire PHP et envoi par email
« Réponse #14 le: 12 Mai 2007 à 13:07:29 »
Merci touta pour ce rapel !

Aide informatique
Nous n'avons trouvé aucun problème, mais nous allons continuez à vous aider !