IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Envoi de formulaire sur boite e-mail


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Inscrit en
    Avril 2008
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 7
    Par défaut Envoi de formulaire sur boite e-mail
    Bonjour,
    je suis chargée de mettre en place l'inscription à un mailing. Le formulaire rempli par l'utilisateur doit arriver par mail.
    J'ai trouvé un code pour insérer les données du formulaire d'inscription dans une base, mais je ne sais pas comment faire pour qu'on recoive le formulaire par mail.
    Je précise que je travaille pour une association, que je n'ai ni le temps, ni pour mission d'apprendre le php afin de régler ce problème. Je viens donc vous demander une réponse "toute faite" afin de faire fonctionner ce formulaire d'inscription.
    Que dois-je enlever (ou ajouter) pour arriver à mes fins?
    Dernière question puis-je le mettre sans risque sur le site?

    Un grand merci par avance à celui ou celle qui pourra m'aider.

    Voici le code de la page php qui traite le formulaire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    <?php
    // Parametres mysql à remplacer par les vôtres
    define('DB_SERVER', 'localhost'); // serveur mysql
    define('DB_SERVER_USERNAME', 'root'); // nom d'utilisateur
    define('DB_SERVER_PASSWORD', 'motdepasse'); // mot de passe
    define('DB_DATABASE', 'telechargements'); // nom de la base
     
    // Connexion au serveur mysql
    $connect = mysql_connect(DB_SERVER, DB_SERVER_USERNAME,
    DB_SERVER_PASSWORD)
    or die('Impossible de se connecter : ' . mysql_error());
    // sélection de la base de données
    mysql_select_db(DB_DATABASE, $connect);
     
    $msg_erreur = "Erreur. Les champs suivants doivent être obligatoirement remplis :<br/><br/>";
    $msg_ok = "Votre demande a bien été prise en compte.";
    $message = $msg_erreur;
     
    // vérification des champs
    if (empty($_POST['civilite']))
      $message .= "Votre civilité<br/>";
    if (empty($_POST['nom']))
      $message .= "Votre nom<br/>";
    if (empty($_POST['adresse']))
      $message .= "Votre adresse<br/>";
    if (empty($_POST['codepostal']))
      $message .= "Votre code postal<br/>";
    if (empty($_POST['ville']))
      $message .= "Votre ville<br/>";
    if (empty($_POST['comments']))
      $message .= "Votre message<br/>";
     
    // si un champ est vide, on affiche le message d'erreur
    if (strlen($message) > strlen($msg_erreur)) {
     
      echo $message;
     
    // sinon c'est ok
    } else {
     
      foreach($_POST as $index => $valeur) {
        $$index = mysql_real_escape_string(trim($valeur));
      }
     
      $interets = $_POST['interets'];
      $sqlinterets = '';
      for ($i=0; $i<count($interets); $i++)
      {
        $sqlinterets .= $interets[$i];
        $sqlinterets .= ', ';
      }
     
      $sql = "INSERT INTO formulaire VALUES ('', '".$civilite."', '".$nom."', '".$adresse."', '".$codepostal."', '".$ville."', '".$pays."', '".$sqlinterets."', '".$comments."', now())";
      $res = mysql_query($sql);
     
      if ($res) {
        echo $msg_ok;
      } else {
        echo mysql_error();
      }
     
    }
    ?>

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Bonjour,

    le code "tout prêt" est disponible dans la FAQ :
    http://php.developpez.com/faq/?page=mail#envoi-mail
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Expert confirmé
    Avatar de 12monkeys
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2006
    Messages : 4 093
    Par défaut
    Bonjour

    Il suffit d'adapter en lisant les commentaires :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    $destinataire = //mettre ici l'adresse email du destinataire;
    $mail = ;//mettre ici l'adresse de l'expéditeur
    $objet = "mettre ici l'objet du message";
    $message = $civilite.' '.$nom.' '.$adresse.' '.$codepostal.' '.$ville.' '.$pays.' '.$sqlinterets;//en créant ici le formatage du texte que tu veux
     
    	    $headers  = "MIME-Version: 1.0\r\n";
    	    $headers .= "Content-type: text/plain; charset=iso-8859-1\r\n";
    	    $headers .= "From: <$mail>\r\n";
    	    $headers .= "Reply-To: $mail\r\n";
    	    $headers .= "Delivered-to: $destinataire\r\n";
    	    $headers .= "X-Priority: 3\r\n";
     
    //				Envoi du message				
    	if (mail($destinataire, $objet, $message, $headers)) {
    	    $mailenv = "Votre message a bien été envoyé";
    	} else {
    	    $mailenv = "Le mail pour prévenir n'est pas parti.";
    	}
     
    echo $mailenv;
    edit : grillé, en plus je n'avais pas pensé à la faq

  4. #4
    Membre du Club
    Inscrit en
    Avril 2008
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 7
    Par défaut
    Merci, mais je dois mettre ça où dans le code que j'ai déjà?

    Je ne comprends pas :
    $destinataire = //mettre ici l'adresse email du destinataire;
    $mail = ;//mettre ici l'adresse de l'expéditeur

    comment je pourrais connaitre l'adresse de l'expéditeur???

    Désolée mais pour un novice c'est complexe...

  5. #5
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Dans ton formulaire d'inscription, tu n'as pas un champ e-mail qui contient l'email de la personne qui s'inscrit ?

    Tu récupères ce champ, tu le passe à la moulinette histoire de vérifier que c'est bien une adresse e-mail (voir ici pour la moulinette en question) et si c'est ok, tu mets ça comme expéditeur.
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

Discussions similaires

  1. Envoi de formulaire sur 2 adresses email
    Par stero11 dans le forum Langage
    Réponses: 4
    Dernier message: 09/06/2015, 17h29
  2. envoi les infos de mon formulaire sur ma boite mail
    Par hakoukou dans le forum Langage
    Réponses: 4
    Dernier message: 03/01/2014, 17h02
  3. Envoie de Newsletter sur boite mail !
    Par Invité dans le forum Langages serveur
    Réponses: 5
    Dernier message: 05/07/2011, 11h38
  4. [WD-2003] formulaire + envoi sur une boîte mail
    Par korni184 dans le forum Word
    Réponses: 3
    Dernier message: 14/12/2010, 13h14
  5. [Web Service] PHP - envoi de photo sur Facebook par mail()
    Par lesideesnet dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 04/10/2010, 15h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo