+ Répondre à la discussion
Affichage des résultats 1 à 3 sur 3
  1. #1
    Invité de passage
    Inscrit en
    mars 2012
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : mars 2012
    Messages : 6
    Points : 1
    Points
    1

    Par défaut import adresse mail en bdd

    Bonjour

    Je suis entrain de réalisé une newsletter , la partie d’envoie de celle-ci est prête

    Par contre je suis entrain de créer un formulaire d’ajout d’adresse mail en masse dans la base de données

    Voici une ébauche de la page PHP que j’ai crée

    Mon problème est le suivant :

    Comment faire pour séparer chaque adresse mail et les inserers separement dans la bdd ?
    le but étant que l’on rentre chaque mail idealement une par ligne

    Ensuite que le insert into etc s’execute pour chaque mail

    Si j’ajoute 50 mails , il faut créer 50 ligne dans la base sql , par contre je ne sait pas comment lui dire cela.

    Merci de votre aide


    Code :
    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
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    <html>
    <head>
    <SCRIPT LANGUAGE="JavaScript">
               <!--
               function stopError() {
                 return true;
               }
               window.onerror = stopError;
               // -->       
    </SCRIPT>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <SCRIPT LANGUAGE="JavaScript">
    function verifForm(formulaire)
    {
    if(formulaire.email.value == "") /* on detecte si email est vide */
    alert('Merci de renseigner au moins un email'); 
    else
    formulaire.submit(); 
    }
    </SCRIPT>
    <SCRIPT LANGUAGE=JavaScript>
    function ejs_img_fx(img){	
    	if(img && img.filters && img.filters[0]){
    		img.filters[0].apply();
    		img.filters[0].play();
    	}
    }
    </SCRIPT>
    </style>
    </head>
    <body alink="#000000" text="#000000" link="#000000" vlink="#000000">
    <form name="upload" enctype="multipart/form-data" method="post" action="">
      <div align="center">
        <p>&nbsp;</p>
        <table width="450" border="0" align="center" cellpadding="0" cellspacing="0">
          <tr bgcolor="#6E4D06">
            <td width="100%" height="20" background="../images/bloc_float_h1.jpg" bgcolor="#FFFFFF"><div align="center"><b>  <font color="#6E4D06" size="-1" face="Verdana, Arial, Helvetica, sans-serif"> </font> </b></div></td>
          </tr>
          <tr bgcolor="#6E4D06">
            <td width="100%" align="center" valign="middle" bgcolor="#FFFFFF"><table width="487" border="0" cellspacing="0" cellpadding="4" align="center" height="28" bordercolor="#000000">
                <tr>
                  <td height="14" align="center" valign="middle" bordercolor="#FFFFFF" background="../images/fndprod.jpg"><table width="98%" border="0" cellspacing="0">
                      <tr>
                        <td bgcolor="#CADE7B"><div align="center"></div>                      
                          <table width="450" border="0" align="center">
                            <tr>
                              <td width="591" class="Style1"><p align="center"><strong><em> Voici le formulaire d'ajout de mail pour la newsletter:
                                          <input type="hidden" name="config12">
                                          </em></strong></p>
                                  <table width="100%"  border="0">
                                    <tr>
                                      <td class="Style6"><div align="center">Veuillez indiquer la liste des mails:
                                          <br>
                                          <textarea name="email" cols="50" rows="5" id="email"></textarea>
                                      </div></td>
                                    </tr>
                                  </table>
                                  <p align="center">
                                    <input type="submit" name="bouton_submit" onClick="verifForm(this.form)" value="Ajouter les emails">
                                    <input type="reset" name="Submit222" value="Effacer">
    <br>
                                </p></td>
                            </tr>
                          </table>                      </td>
                      </tr>
                  </table></td>
                </tr>
                <tr>
                  <td width="487" height="25" align="center" valign="middle" bordercolor="#FFFFFF" background="../images/basprod.jpg">&nbsp;</td>
                </tr>
            </table></td>
          </tr>
        </table>
        <p align="center"></p>
        <p>&nbsp;</p>
        <p>&nbsp;</p>
        <p>&nbsp;</p>
     
    <p>&nbsp;</p>
     
    <? 
     
    if($email!=""){
    include("../connectbdd.php");
    $requete = "INSERT INTO newsletters (email,date) VALUES('$email',NOW())";
    mysql_query($requete);
    mysql_close();
    }
    ?>  
     
    </div>
    </form>
    </body>
    </html>

  2. #2
    Nouveau Membre du Club
    Inscrit en
    avril 2010
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : avril 2010
    Messages : 36
    Points : 38
    Points
    38

    Par défaut

    Si tu compte inserer ta liste d'adresse mail directement dans ton textarea, tu doit definir un separateur entre chaques adresse (un espace, une virgule, un point-virgule, à ta guise).

    ensuite, en imaginant que le separateur choisi et un " " (espace),
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    if(!empty($_POST['email']){
      include("../connectbdd.php");
      $emails = explode(' ',$_POST['email']);
      foreach($emails as $email){
        if($email != ' '){ //au cas ou tu aurais mis plus d'un espace entre deux adresse
          $requete = "INSERT INTO newsletters (email,date) VALUES($email,NOW())";
          mysql_query($requete);
        }
      }
      mysql_close();
    }
    Voila, mais bon... ne faudrait il pas d'abord appendre le php avant d'essayer d'en faire ? au moins les bases quoi...

    Cordialement.

  3. #3
    Expert Confirmé Sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    septembre 2010
    Messages
    2 699
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : septembre 2010
    Messages : 2 699
    Points : 4 616
    Points
    4 616

    Par défaut

    Ou sinon si tu mets un email par ligne dans ton textarea (ils seront donc séparés par un retour ligne) tu peux rechercher les retour lignes avec "\n"

    Dans ce cas, en reprenant l'exemple de aeroth

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    if(!empty($_POST['email']))
    {
      include("../connectbdd.php");
      $tab_mails = explode("\n",$_POST['email']);
      $tab_mails = array_map('trim',$tab_mails);// supprime les espaces vides de début et de fin
      $tab_mails = array_filter($tab_mails);// supprime les éléments vides du tableau
      foreach($tab_mails as $email)
       {
          //...
        }
    }
    - Réalisations
    - Interface graphique : génération en javascript d'objets défilants, texte et/ou images, mode horizontal ou vertical.

+ Répondre à la discussion
Cette discussion est résolue.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •