Formulaire

Bonjour,

je viens ici j'ai besoin d'aide pour un formulaire.

En passant par un script par exemple est-il possible de réaliser un formulaire, ou le visiteur inscrit son prénom et son email, pour y recevoir un fichier proposé sur mon site en piece jointe à un remerciement par mail automatique ?

plus précisement:
Récupérer par Php un formulaire dont tous les champs sont vérifiés
et remercier par un mail automatique le visiteur qui aura rempli
et envoyé mon formulaire...
De plus lui joindre en piece jointe le fichier proposé sur mon site avec le mail de remerciement.

est-ce que quelqu'un aurait une idée ?

Merci d'avance
Configuration: Windows XP
Internet Explorer 6.0

27 réponses

Résumé de la discussion

L'objectif est de mettre en place un formulaire en PHP qui vérifie tous les champs et envoie un mail automatique de remerciement avec une pièce jointe du fichier proposé. Plusieurs éléments soulignent la nécessité de validations côté serveur en PHP et indiquent que l'envoi d'un fichier joint et d'un mail de remerciement nécessite une configuration d'hébergement adaptée et des templates. Certains constats indiquent qu'un blog gratuit peut ne pas offrir l'espace de téléchargement nécessaire, et que pour réaliser cela il faut un hébergement classique et des scripts configurables ainsi que des vérifications côté serveur.

Bobot (l’IA à votre service)
  1. oui le blog et apparement c'est possible d'après ce lien http://help.blogger.com/bin/answer.py?answer=41409&query=ftp&topic=&type=f
    1. rediriger quoi ?

      Ton blog ?

      S'il est sur blogger, tu ne vaspas pouvoir a priori. Ce que tu peux faire, c'est commencer ton blog ailleurs et mettre un dernier post sur ton blogger "et voilà, c'est le dernier post, maintenant allez sur monnouveaublog.com "...

      Raph
      1. euh oui raph mais maintenant que j'ai commencé mon blog sur blogger je vais le terminé je pense , en plus je suis vraiment nul je sais meme pas comment faire pour le rediriger sur le serveur que je viens de prendre, c'est pas gagner tout ca ... pfff
        1. j'ai souscris a un pack d'hebergement sur le site 1&1, quel logiciel choisir pour rediriger mon blog sur ce serveur ?
          1. ok raph je vais rediriger mon blog sur un hebergeur (1&1 ) avec un nom de domaine c possible ?
            1. Pas possible avec un blog de blogger, il n'y a pas d'espace de téléchargement. Il faut utiliser un hébergeur "classique", et non pas un hébergeur sur une application spécifique...
              1. ok j'ai configuré et sauvegarder les fichiers aux extensions email.php et contact.html.
                j'ai plus qu'a envoyé tous ca sur le serveur, j'ai un blog sur blogger de google et je sais pas comment trouvé le serveur.
                1. Il faut configurer tout ces trucs là dans un premier temps:
                  $mon_email = 'from-email@r4f.org'; # L'adresse e-mail pour savoir qui s'est inscrit
                  $sujet = 'voici votre PDF'; # Sujet du mail a envoyer au nouvel inscrit
                  $message = "Bonjour et merci de vous être inscrit sur mon site, t
                  
                  voici le fichier PDF blablabla"; # Message du mail envoyé avec le PDFi
                  
                  $file = '../../../sondage/scripts/calendar/doc/reference.pdf'; # nom du fichier PDF
                  


                  Et puis ensuite, mettre le contenu de la page sur laquelle l'utilisateur attérit une fois qu'il a rempli le formaire. Tout à la fin de la page, modifier celà :
                  
                  Merci de vous etre inscrit, <?=$prenom ?>, nous venons de vous envoyer le fichier PDF par e-mail.
                  
                  
                  1. Bonsoir ok raph j'envoi ca sur le serveur et je vous tiens au courant, si j'ai compris j'ai juste à insérer dans le php mon adresse email dans cette partie $mon_email = 'from-email@r4f.org' et c'est tout .
                    1. Oui, il faut envoyer les 2 fichiers, le fichier PHP s'appellera (par exemple) email.php et l'autre, plus court, s'appellera (par exemple) contact.htm

                      Si les fichiers ne sont pas sur le serveur, rien ne va changer dans le comportement du site...

                      Raph
                      1. Raph question peut etre bête dois-je envoyer quelque chose sur le serveur ?
                        1. juste une question raph je dois rentrer la partie php entre quelles balises ?

                          et pour le html je rentre ceci ?

                          <html>
                          <head>
                          </head>
                          <body>
                          <form action="email.php" method="POST">
                          Prenom : <input type="text" name="prenom"><br/>
                          E-mail : <input type="text" name="email"><br/>
                          <input type="submit">
                          </form>
                          </body>
                          </html>

                          Merci pour tout

                          Allan
                          1. Merci beaucoup raph quel travail, je vais tester ca et je vous tiendrai au courant plus tard je pense que vous devez en avoir plein les bottes de mes questions.
                            1. Dans un formulaire HTML, chaque champ a un nom (name="le_nom_du_champ').

                              Je vais supposer que :
                              - le champ contenant le prénom s'appelle "prenom"
                              - le champ contenant l'e-mail s'appelle "email"

                              On se fiche du nom du champ "Valider".
                              <?php
                              
                              $prenom = $_REQUEST['prenom'];
                              $email = $_REQUEST['email'];
                              
                              $mon_email = 'from-email@r4f.org'; # L'adresse e-mail pour savoir qui s'est inscrit
                              $sujet = 'voici votre PDF'; # Sujet du mail a envoyer au nouvel inscrit
                              $message = "Bonjour et merci de vous être inscrit sur mon site, t
                              
                              voici le fichier PDF blablabla"; # Message du mail envoyé avec le PDFi
                              
                              $file = '../../../sondage/scripts/calendar/doc/reference.pdf'; # nom du fichier PDF
                              
                              
                              
                              
                              # Partie pour valider l'adresse e-mail 
                              $atom   = '[-a-z0-9!#$%&\'*+\\/=?^_`{|}~]';   // caractères autorisés avant l'arobase
                              $domain = '([a-z0-9]([-a-z0-9]*[a-z0-9]+)?)'; // caractères autorisés après l'arobase (nom de domaine)
                              
                              $regex = '/^' . $atom . '+' .   // Une ou plusieurs fois les caractères autorisés avant l'arobase
                              '(\.' . $atom . '+)*' .         // Suivis par zéro point ou plus
                                                              // séparés par des caractères autorisés avant l'arobase
                              '@' .                           // Suivis d'un arobase
                              '(' . $domain . '{1,63}\.)+' .  // Suivis par 1 a 63 caractères autorisés pour le nom de domaine
                                                              // séparés par des points
                              $domain . '{2,63}$/i';          // Suivi de 2 a 63 caractères autorisés pour le nom de domaine
                              
                              
                              if (preg_match('/\A\s*\Z/', $prenom)) { // test du prenom
                                      die('Il manque le prénom');
                              } elseif (!preg_match($regex, $email)) { // test de l'adresse e-mail
                                      die( "L'adresse e-mail $email est invalide");
                              }
                              
                              
                              # Si on en est la, le prénom et l'adresse e-mail sont valides
                              $boundary = "-----=".md5(uniqid(rand()));
                              $header = "MIME-Version: 1.0\r\n";
                              $header .= "Content-Type: multipart/mixed; boundary=\"$boundary\"\r\n";
                              $header .= "\r\n";
                              
                              $msg = "Je vous informe que ceci est un message au format MIME 1.0 multipart/mixed.\r\n";
                              
                              $msg .= "--$boundary\r\n";
                              
                              $msg .= "Content-Type: $type; charset=\"iso-8859-1\"\r\n";
                              $msg .= "Content-Transfer-Encoding:8bit\r\n";
                              $msg .= "\r\n";
                              $msg .= $message;
                              $msg .= "\r\n";
                              
                              
                              $fp = fopen($file, "rb");
                              $attachment = fread($fp, filesize($file));
                              fclose($fp);
                              
                              $attachment = chunk_split(base64_encode($attachment));
                              
                              
                              $msg .= "--$boundary\r\n";
                              $msg .= "Content-Type: application/pdf; name=\"$file\"\r\n";
                              $msg .= "Content-Transfer-Encoding: base64\r\n";
                              $msg .= "Content-Disposition: inline; filename=\"$file\"\r\n";
                              $msg .= "\r\n";
                              $msg .= $attachment . "\r\n";
                              $msg .= "\r\n\r\n";
                              $msg .= "--$boundary--\r\n";
                              
                              
                              mail($email, $sujet, $msg,
                                   "Reply-to: $mon_email\r\nFrom: $mon_email");
                              mail($mon_email, "Nouvel inscrit: $prenom", "\n\nVoici un nouvel inscrit:$prenom dont l'adresse est $email\n\n" ,
                                   "Reply-to: $mon_email\r\nFrom: $mon_email");
                              
                              ?>
                              Merci de vous etre inscrit, <?=$prenom ?>, nous venons de vous envoyer le fichier PDF par e-mail.
                              
                              
                              


                              J'ai repompé du code de http://www.asp-php.net/ressources/bouts_de_code.aspx?id=83 pour l'envoi de mail avec attachement et de https://atranchant.developpez.com/code/validation/ pour la validation d'e-mail.

                              J'ai fait un test avec cette page de formulaire :
                              
                              <html>
                              <head> 
                              </head>
                              <body>
                              <form action="email.php" method="POST">
                              Prenom : <input type="text" name="prenom"><br/>
                              E-mail : <input type="text" name="email"><br/>
                              <input type="submit">
                              </form> 
                              </body> 
                              </html>
                              
                              
                              


                              (donc le premier script s'appelle email.php dans mon cas)

                              Raph
                              1. Bon, je réponds ;-)

                                Désolé pour cette attente, mais aujourd'hui j'ai pas mal apporté d'aide sur ce forum...

                                Raph
                                1. Enfin quelqu'un merci raph, et bien en fait sur le site il y aura un fichier pdf proposé au visteur ok!!!

                                  Si un visiteur est intéressé par ce fichier, pour le recevoir il devra remplir dans un petit formulaire son prénom
                                  puis son adresse email et pour finir cliquer sur envoyer ce qui fait schématiquemet ceci:

                                  - votre prénom [ le premier champ à remplir ]

                                  - Votre e-mail [ le deuxieme champ à remplir ]

                                  et pour finir [ envoyer]

                                  Voila donc 3 champs dans cet ordre

                                  Une fois le formulaire rempli par un visiteur le php devera vérifié:

                                  - Si tous les champs sont bien rempli
                                  - Si l'email est existent
                                  - Evoyer un message de remerciement au visiteur avec le fameux fichier pdf en piece jointe
                                  - m'envoyer aussi un mail confirmant l'inscription d'un visiteur


                                  Voila suis-je plus clair et cela est-il réalisable raph ??

                                  Merci
                                  • 1
                                  • 2