Envoie de mail automatique via BBD

Résolu
thecrazzy84 Messages postés 81 Statut Membre -  
thecrazzy84 Messages postés 81 Statut Membre -
Bonjour,
Je souhaite envoyer un mail automatique reprennant les informations donnees suite a une inscription

Quelqu un paut il aider ?

4 réponses

  1. thecrazzy84 Messages postés 81 Statut Membre
     
    j avais fait un truc du style . Peux tu me dire comment reussir a faire marche ca ?

    <?php
    try
    {
    // On se connecte à MySQL
    $bdd = new PDO('mysql:host=localhost;dbname=ve42_infospart', 've42_ggmv', 'ggmv');
    }
    catch(Exception $e)
    {
    // En cas d'erreur, on affiche un message et on arrête tout
    die('Erreur : '.$e->getMessage());
    }

    // Si tout va bien, on peut continuer

    // On récupère tout le contenu de la table infopart
    $reponse = $bdd->query('SELECT * FROM infopart ORDER BY ID DESC LIMIT 1');

    // On affiche chaque entrée une à une
    while ($donnees = $reponse->fetch())
    {

    ?>

    <?php

    // N'afficher que les erreurs, pas les avertissements...
    ini_set("error_reporting", "E_ALL & ~E_NOTICE");

    // Adresse de réception du formulaire
    $email_dest ="";

    if ($_POST['envoi']) {

    // E-mail headers:
    $headers ="MIME-Version: 1.0 \n";
    $headers .="From: Enregistrement <Gagner ma voiture>\n";

    $headers .="Content-Type: text/html; charset=iso-8859-1 \n";

    $subject = "gagner ma voiture";

    $partie_entete = "<html><head>
    <meta http-equiv=Content-Type content=text/html; charset=iso-8859-1>
    </head>
    <body bgcolor=#FFFFFF>";

    for ($a=1; $a<= $_POST['nbre_champs_texte']; $a++) {
    $partie_champs_texte .= "<font face='Verdana' size='2' color='#003366'>" . $_POST['titre_champ'.$a] . " = " . $_POST['champ'.$a] . "</font><br>";
    }

    if ($_POST['nbre_zone_email'] != 0) {
    $partie_zone_email = "<font face='Verdana' size='2' color='#003366'>" . $_POST['titre_email'] . " = " . $_POST['zone_email'] . "</font><br>";
    }

    if ($_POST['nbre_zones_texte'] != 0) {
    $partie_zone_texte = "<font face='Verdana' size='2' color='#003366'>" . $_POST['titre_zone'] . " = " . $_POST['zone_texte'] . "</font><br>";
    $partie_zone_texte = stripslashes($partie_zone_texte);
    }

    $fin = "</body></html>";

    $sortie = $partie_entete . $partie_champs_texte . $partie_zone_email . $partie_zone_texte . $fin;

    // Send the e-mail
    if (@!mail($email_dest,$subject,$sortie,$headers)) {
    echo("Envoi du formulaire impossible");
    } else { // Closing if !mail...

    // Renvoi à la page de remerciement
    header("Location:Merci.htm");

    <form name="mail_form" method="post" action="<?=$_SERVER['PHP_SELF']?>" onload
    <div align="center">
    <center>
    <table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="1024" height="100%" background="../1.gif">
    <tr>
    <td width="100%" align="center">
    <table border="3" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#DFDF00" width="600" height="205" bordercolorlight="#DFDF00" bordercolordark="#DFDF00">
    <tr>
    <td width="150%" height="45" colspan="2">
    <p align="center"><font color="#DFDF00" size="6"><b>RECAPITULATIF</b></font></td>
    </tr>
    <tr>
    <td width="50%" height="23"><b><font color="#DFDF00" size="4">Nom</font></b></td>
    <td width="50%" height="23" align="center"><font color="#DFDF00"><b> <?php echo $donnees['nom']; ?></b></font></td>
    </tr>
    <tr>
    <td width="50%" height="23"><b><font color="#DFDF00" size="4">Prénom</font></b></td>
    <td width="50%" height="23" align="center"><b> <font color="#DFDF00"> <?php echo $donnees['prenom']; ?></font>
    <font color="#DFDF00"> </font></b></td>
    </tr>
    <tr>
    <td width="50%" height="23"><b><font color="#DFDF00" size="4">Date de naissance</font></b></td>
    <td width="50%" height="23" align="center"><font color="#DFDF00"> <?php echo $donnees['dtn']; ?></b></font></td>
    </tr>
    <tr>
    <td width="50%" height="24"><b><font color="#DFDF00" size="4">Adresse</font></b></td>
    <td width="50%" height="24" align="center"><font color="#DFDF00"> <?php echo $donnees['adresse']; ?></b></font></td>
    </tr>
    <tr>
    <td width="50%" height="24"><b><font color="#DFDF00" size="4">Complément d'adresse</font></b></td>
    <td width="50%" height="24" align="center"><font color="#DFDF00"> <?php echo $donnees['complement']; ?></b></font></td>
    </tr>
    <tr>
    <td width="50%" height="24"><b><font color="#DFDF00" size="4">Code postal</font></b></td>
    <td width="50%" height="24" align="center"><font color="#DFDF00"> <?php echo $donnees['cp']; ?></b></font></td>
    </tr>
    <tr>
    <td width="50%" height="24"><b><font color="#DFDF00" size="4">Ville</font></b></td>
    <td width="50%" height="24" align="center"><font color="#DFDF00"> <?php echo $donnees['ville']; ?></b></font></td>
    </tr>
    <tr>
    <td width="50%" height="24"><b><font color="#DFDF00" size="4">Téléphone</font></b></td>
    <td width="50%" height="24" align="center"><font color="#DFDF00"> <b><?php echo $donnees['telephone']; ?></b></font></td>
    </tr>
    <tr>
    <center>
    <td width="50%" height="24"><b><font color="#DFDF00" size="4">Email</font></b></td>
    <td width="50%" height="24" align="center"><font color="#DFDF00"> <?php echo $donnees['email']; ?></b></font></td>
    </tr>
    </table>
    <center>
    <p></p>
    </center></td>
    </tr>
    </table>
    </center>
    </div>
    </form>
    <?php
    }

    $reponse->closeCursor(); // Termine le traitement de la requête

    ?>

    Ou une autre idee je prend aussi !
    :)
    0
  2. Alain_42 Messages postés 5413 Statut Membre 904
     
    // On récupère tout le contenu de la table infopart
    $reponse = $bdd->query('SELECT * FROM infopart ORDER BY ID DESC LIMIT 1');


    la j'ai des doutes avec LIMIT 1 tu ne sort qu'un seul enregistrement
    0
    1. thecrazzy84 Messages postés 81 Statut Membre
       
      oui je sors le dernier enregistrement la requete de recuperation marche impec .
      Mais je ne sais pas comment la couplé pour que le mail s'envoie.
      0
    2. thecrazzy84 Messages postés 81 Statut Membre
       
      Personne n'a d'idee pour ce Pb.

      Comment faire pour envoyer ces info par mail automatiquement
      0
  3. thecrazzy84 Messages postés 81 Statut Membre
     
    Quelqu un peut il analyser mon raisonement :

    1/Je recuppere mes donnees dans la BBD.

    j avais fait un truc du style . Peux tu me dire comment reussir a faire marche ca ?

    <?php
    try
    {
    // On se connecte à MySQL
    $bdd = new PDO('mysql:host=localhost;dbname=ve42_infospart', 've42_ggmv', 'ggmv');
    }
    catch(Exception $e)
    {
    // En cas d'erreur, on affiche un message et on arrête tout
    die('Erreur : '.$e->getMessage());
    }

    // Si tout va bien, on peut continuer

    // On récupère tout le contenu de la table infopart
    $reponse = $bdd->query('SELECT * FROM infopart ORDER BY ID DESC LIMIT 1');

    // On affiche chaque entrée une à une
    while ($donnees = $reponse->fetch())
    {

    ?>

    2/ je mets mon script php pour le mail :
    *J ai un doute sur le on load pour l envoie au chargement .??

    <?php

    // N'afficher que les erreurs, pas les avertissements...
    ini_set("error_reporting", "E_ALL & ~E_NOTICE");

    // Adresse de réception du formulaire
    $email_dest ="";

    if ($_POST['envoi']) {

    // E-mail headers:
    $headers ="MIME-Version: 1.0 \n";
    $headers .="From: Enregistrement <Gagner ma voiture>\n";

    $headers .="Content-Type: text/html; charset=iso-8859-1 \n";

    $subject = "gagner ma voiture";

    $partie_entete = "<html><head>
    <meta http-equiv=Content-Type content=text/html; charset=iso-8859-1>
    </head>
    <body bgcolor=#FFFFFF>";

    for ($a=1; $a<= $_POST['nbre_champs_texte']; $a++) {
    $partie_champs_texte .= "<font face='Verdana' size='2' color='#003366'>" . $_POST['titre_champ'.$a] . " = " . $_POST['champ'.$a] . "</font><br>";
    }

    if ($_POST['nbre_zone_email'] != 0) {
    $partie_zone_email = "<font face='Verdana' size='2' color='#003366'>" . $_POST['titre_email'] . " = " . $_POST['zone_email'] . "</font><br>";
    }

    if ($_POST['nbre_zones_texte'] != 0) {
    $partie_zone_texte = "<font face='Verdana' size='2' color='#003366'>" . $_POST['titre_zone'] . " = " . $_POST['zone_texte'] . "</font><br>";
    $partie_zone_texte = stripslashes($partie_zone_texte);
    }

    $fin = "</body></html>";

    $sortie = $partie_entete . $partie_champs_texte . $partie_zone_email . $partie_zone_texte . $fin;

    // Send the e-mail
    if (@!mail($email_dest,$subject,$sortie,$headers)) {
    echo("Envoi du formulaire impossible");
    } else { // Closing if !mail...

    // Renvoi à la page de remerciement
    header("Location:Merci.htm");

    <form name="mail_form" method="post" action="<?=$_SERVER['PHP_SELF']?>" onload

    3/ j'affiche mes champs avec l'insertion de mes données reccuperer precedament.

    <div align="center">
    <center>
    <table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="1024" height="100%" background="../1.gif">
    <tr>
    <td width="100%" align="center">
    <table border="3" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#DFDF00" width="600" height="205" bordercolorlight="#DFDF00" bordercolordark="#DFDF00">
    <tr>
    <td width="150%" height="45" colspan="2">
    <p align="center"><font color="#DFDF00" size="6"><b>RECAPITULATIF</b></font></td>
    </tr>
    <tr>
    <td width="50%" height="23"><b><font color="#DFDF00" size="4">Nom</font></b></td>
    <td width="50%" height="23" align="center"><font color="#DFDF00"><b> <?php echo $donnees['nom']; ?></b></font></td>
    </tr>
    <tr>
    <td width="50%" height="23"><b><font color="#DFDF00" size="4">Prénom</font></b></td>
    <td width="50%" height="23" align="center"><b> <font color="#DFDF00"> <?php echo $donnees['prenom']; ?></font>
    <font color="#DFDF00"> </font></b></td>
    </tr>
    <tr>
    <td width="50%" height="23"><b><font color="#DFDF00" size="4">Date de naissance</font></b></td>
    <td width="50%" height="23" align="center"><font color="#DFDF00"> <?php echo $donnees['dtn']; ?></b></font></td>
    </tr>
    <tr>
    <td width="50%" height="24"><b><font color="#DFDF00" size="4">Adresse</font></b></td>
    <td width="50%" height="24" align="center"><font color="#DFDF00"> <?php echo $donnees['adresse']; ?></b></font></td>
    </tr>
    <tr>
    <td width="50%" height="24"><b><font color="#DFDF00" size="4">Complément d'adresse</font></b></td>
    <td width="50%" height="24" align="center"><font color="#DFDF00"> <?php echo $donnees['complement']; ?></b></font></td>
    </tr>
    <tr>
    <td width="50%" height="24"><b><font color="#DFDF00" size="4">Code postal</font></b></td>
    <td width="50%" height="24" align="center"><font color="#DFDF00"> <?php echo $donnees['cp']; ?></b></font></td>
    </tr>
    <tr>
    <td width="50%" height="24"><b><font color="#DFDF00" size="4">Ville</font></b></td>
    <td width="50%" height="24" align="center"><font color="#DFDF00"> <?php echo $donnees['ville']; ?></b></font></td>
    </tr>
    <tr>
    <td width="50%" height="24"><b><font color="#DFDF00" size="4">Téléphone</font></b></td>
    <td width="50%" height="24" align="center"><font color="#DFDF00"> <b><?php echo $donnees['telephone']; ?></b></font></td>
    </tr>
    <tr>
    <center>
    <td width="50%" height="24"><b><font color="#DFDF00" size="4">Email</font></b></td>
    <td width="50%" height="24" align="center"><font color="#DFDF00"> <?php echo $donnees['email']; ?></b></font></td>
    </tr>
    </table>
    <center>
    <p></p>
    </center></td>
    </tr>
    </table>
    </center>
    </div>
    </form>
    <?php
    }

    $reponse->closeCursor(); // Termine le traitement de la requête

    ?>

    Bon evidement si je suis la c'est que ca ne marche pas ...
    Quelqu un veut il bien regarder au moin mon raisonement ?

    Merci
    0