script de mailing list, qu'en pensez vous

script de mailing list, qu'en pensez vous - PHP - Programmation

Marsh Posté le 12-08-2002 à 18:54:44    

voila g fini hier le script voila les source : ident_mailinglist.php :
 
 

Code :
  1. <?
  2. echo'<FORM method="POST" action="mailing_list/login.php">';
  3. echo'<TABLE border="0" width="400" align="center">';
  4. echo'<TR>';
  5. echo'<TD width="200"><b>Votre login :</b></TD>';
  6. echo'<TD width="200"><input type="text" name="pseudo_ident" value='.$PSEUDO.'></TD>';
  7. echo'</TR>';
  8. echo'<TR>';
  9. echo'<TD width="200"><b>Votre mot de passe :<b></TD>';
  10. echo'<TD width="200"><input type="password" name="passe_ident" value='.$PASSE.'></TD>';
  11. echo'</TR>';
  12. echo'<TR>';
  13. echo"<TD colspan=\"2\"><input type=\"submit\" name=\"submit\" value=\"S'identifier\">";
  14. echo'</TD>';
  15. echo'</TR>';
  16. echo'</TABLE>';
  17. echo'</FORM>';
  18. ?>


 
 
ensuite : login.php
 
 

Code :
  1. <?
  2. include ('../accesmysql/acces.php' );
  3. $sql= "SELECT * FROM membres WHERE qualite='administrateur'";
  4. $req= mysql_query($sql) or die ('Erreur SQL!' );
  5. while ($data= mysql_fetch_array($req))
  6. {
  7. $pseudo_admin=$data['pseudo'];
  8. $passe_admin=$data['passe'];
  9. }
  10. if ($pseudo_ident == $pseudo_admin && $passe_ident == $passe_admin)
  11. {
  12. session_start();
  13. session_register(pseudo_ident);
  14. session_register(passe_ident);
  15. header('location: admin.php' );
  16. }
  17. else
  18. {
  19. echo 'Pseudo ou passe incorrects, cette zone est reservée aux administrateurs';
  20. }
  21. mysql_close();
  22. ?>


 
 
ensuite admin.php :
 
 

Code :
  1. <?
  2. include ('../accesmysql/acces.php' );
  3. session_start();
  4. if ( session_is_registered("pseudo_ident" ) &&  session_is_registered("passe_ident" ))
  5. {
  6. echo '<TABLE>';
  7. echo '<TR>';
  8. echo '<TD>Envoyer un mail a tous les membres :';
  9. echo '<FORM method="post" action="envoi_messages.php">';
  10. echo '<TABLE border="1">';
  11. echo '<TR>';
  12. echo '<TD>Objet :</TD>';
  13. echo '<TD><input type="text" name="objet" value="sujet"><TD>';
  14. echo '</TR>';
  15. echo '<TR>';
  16. echo '<TD>Corps du message :</TD>';
  17. echo '<TD><textarea name="corps" rows="10" cols="50"></textarea></TD>';
  18. echo '</TR>';
  19. echo '<TR>';
  20. echo '<TD>Format : HTML</TD>';
  21. echo '<TD><input type="submit" value="Envoyer"></TD>';
  22. echo '</TR>';
  23. echo '</TABLE>';
  24. echo '</FORM></TD>';
  25. echo '<TD>';
  26. echo 'Liste des membres inscrits a la mailing list :';
  27. echo '<BR>';
  28. $sql= "SELECT email FROM membres WHERE mailing_list='oui'ORDER BY email";
  29. $req= mysql_query($sql) or die ('Erreur SQL!' );
  30. $nbr= mysql_numrows($req);
  31. echo 'Il y a '.$nbr.' inscrits';
  32. echo'<BR>';
  33. echo'<BR>';
  34. while ($data= mysql_fetch_array($req)) 
  35. {
  36.   $inscrits=$data['email'];
  37.   echo $inscrits;
  38.   echo'<BR>';
  39. }
  40. echo '</TD>';
  41. echo '</TR>';
  42. echo '</TABLE>';
  43. }
  44. else
  45. {
  46. echo 'Vous devez vous identifier pour acceder a cette zone';
  47. echo '<meta http-equiv="Refresh" content="2; URL=../ident_mailinglist.php">';
  48. }
  49. ?>


 
 
et pour finir envoi_message.php :
 
 

Code :
  1. <?
  2. include('../accesmysql/acces.php' );
  3. session_start();
  4. if (session_is_registered("pseudo_ident" ) && session_is_registered("passe_ident" ))
  5. {
  6. //selectionne les inscrits
  7. $sql= "SELECT email FROM membres WHERE mailing_list='oui'";
  8. $req=mysql_query($sql) or die ('Erreur SQL!' );
  9. $res=mysql_numrows($req);
  10. //si aucun
  11. if ($res==0)
  12. {
  13. echo 'Aucun inscrits';
  14. }
  15. else
  16. {
  17. echo'Envoi des mails en cours';
  18. $i=0;
  19. while ($res!=$i)
  20. {
  21.   //envoi des mails
  22.   $destinataire=mysql_result($req,$i,"email" );
  23.   mail("$destinataire","$objet","$corps","Content-Type: text/html; charset=\"iso-8859-1\"" );
  24.   echo 'Mail bien envoyer à '.$destinataire;
  25.   echo '<BR>';
  26.   $i++;
  27. }
  28. echo'Tous les mail ont été envoyés';
  29. }
  30. }
  31. else
  32. {
  33. echo 'Vous devez vous identifier pour acceder a cette zone';
  34. echo '<meta http-equiv="Refresh" content="2; URL=../ident_mailinglist.php">';
  35. }
  36. mysql_close;
  37. ?>


 
 
alors qu'est ce que vous pensez du script en general et surtout pour la securité, le fait d'utiliser les session pour passer d'une page a l'autre
 
 
merci a tous  


---------------
Qui mange un noix de coco entiere fait confiance a son anus
Reply

Marsh Posté le 12-08-2002 à 18:54:44   

Reply

Marsh Posté le 13-08-2002 à 00:01:41    

point de vue mail, il va ou bien prendre un temps fou (sans doute un script timeout) ou bien tu vas être accusé de spamming si ta liste est trop longue.
 
Pour éviter cela, tu devrais mettre tout les noms dans une variable (en "carbon copy" par ex) et envoyer 1 seul mail.
 
pour le "carbon copy" etc... je le recommande toujours : phpmailer.


---------------
...oups kernel error...
Reply

Marsh Posté le 13-08-2002 à 13:41:53    

en faite ce serait mieux de faire  
 
$destinataire=$email1.';'.$email2.';'.  ...
 
 
c ca


---------------
Qui mange un noix de coco entiere fait confiance a son anus
Reply

Marsh Posté le 13-08-2002 à 14:49:06    

exactement ;)  
et les mettre en carbone copy pour ne pas que les membres de ta mailing liste ne voient pas les emails des autres personnes.


---------------
...oups kernel error...
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed