Page 1 sur 1

import adresse mail en bdd

Posté : 09 mars 2012, 16:22
par gaetanmm2
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 : Tout sélectionner

<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>

Re: import adresse mail en bdd

Posté : 09 mars 2012, 16:47
par xTG
Tu peux séparer les adresses email en séparant la chaîne grâce au retour à la ligne ou bien tout autre caractère que tu demanderai à l'utilisateur comme séparateur.

Exemple avec le retour à la ligne :
$monTableauDadresse = explode("\n",$_POST['email']);
Après il ne te reste qu'à boucler sur ce tableau pour insérer chaque email.

Re: import adresse mail en bdd

Posté : 09 mars 2012, 17:10
par gaetanmm2
je doit oublier quelque chose quelque part

Code : Tout sélectionner

<? if($email!=""){ include("../connectbdd.php"); $monTableauDadresse = explode("\n",$_POST['email']); while ( $resultm = mysql_fetch_array( $monTableauDadresse) ) { "INSERT INTO newsletters (email,date) VALUES('$email',NOW())" ; } mysql_close(); } ?>
il doit manquer quelque chose je pense dans ma logique ..

Re: import adresse mail en bdd

Posté : 09 mars 2012, 18:39
par xTG
Le fait que mysql_fetch_array est fait pour parcourir une ressource MySQL et non un tableau ? ^^
http://fr2.php.net/manual/fr/control-st ... oreach.php