Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

MAILING LIST AVEC MYSQL


Information sur la source

Catégorie :Application Niveau : Débutant Date de création : 12/03/2003 Date de mise à jour : 12/03/2003 17:21:07 Vu : 5 683

Note :
1 / 10 - par 2 personnes
1,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (2)
Ajouter un commentaire et/ou une note

Description

Voici un petit script qui permet de faire une mailing list. Bien sur il y a des possibilités bien meilleurs que d'envoyer un par un, mais nous en tenons ici pour le moment.
 

Source

  • Requête pour créer la table:
  • CREATE TABLE mailing_tbl (id INT not null AUTO_INCREMENT, email VARCHAR, PRIMARY KEY (id) )
  • formulaire.htm:
  • //Ici rien de nouveau
  • <html>
  • <body>
  • <form method=post action=inscription.php>
  • Adresse email: <input type=text name=email><br>
  • <input type=submit value="Ok">
  • </form>
  • </body>
  • </html>
  • inscription.php:
  • <?
  • $point = strpos($email, "."); // Retourne la position du premier point trouver dans la variable email
  • $aroba = strpos($email, "@"); // Retourne la position du premier arobase trouver dans la variable email
  • if($point=='' || $aroba == '') //Si point ou aroba n'est pas là
  • {
  • print ("Un champs est invalide.<p>"); //Affique que l'adresse est invalide.
  • Require("formulaire.htm"); // Réaffiche le formulaire d'inscription
  • exit; //Arrête le script
  • }
  • $mysql = mysql_connect("localhost", "login", "password"); // On se connecte à la base de donnée
  • mysql_select_db("base_de_donne",$mysql); // On choisi notre base de donnée
  • mysql_query("INSERT INTO mailing_tbl VALUE('',$email)"); //On ajout l'email
  • mysql_close($mysql); // On ferme la connection
  • ?>
  • mailing.htm:
  • <html>
  • <body>
  • <form method=post action=mailing.php>
  • Email de l'auteur: <input type=text name=auteur><br>
  • Sujet:<input type=text name=sujet><br>
  • Contenu: <textarea cols="89" rows="10" name="contenu"></textarea><br>
  • <input type=submit value="Envoyer">
  • </form>
  • </body>
  • </html>
  • mailing.php:
  • <?
  • $point = strpos($auteur, "."); // Retourne la position du premier point trouver dans la variable email
  • $aroba = strpos($auteur, "@"); // Retourne la position du premier arobase trouver dans la variable email
  • if($point=='' || $aroba == '' || $contenu == '') //Si point, aroba ou contenu n'est pas là
  • {
  • print ("Un champs est invalide.<p>"); //Affique que l'adresse est invalide.
  • Require("mailing.htm"); // Réaffiche le formulaire d'inscription
  • exit; //Arrête le script
  • }
  • $mysql = mysql_connect("localhost","login","password"); // On se connecte à la base de donnée
  • mysql_select_db("base_de_donnee",$mysql); // On choisi notre base de donnée
  • $req = mysql_query("SELECT * FROM mailing_tbl"); // On sélectionne tout dans la table
  • while($data = mysql_fetch_array($req)) // On fait une boucle pour envoyer par email un par un.
  • {
  • mail($data['email'], $sujet, $contenu, "From:$auteur");
  • }
  • mysql_close($mysql); // On ferme la connection
  • ?>
Requête pour créer la table:
CREATE TABLE mailing_tbl (id INT not null AUTO_INCREMENT, email VARCHAR, PRIMARY KEY (id) )

formulaire.htm:
//Ici rien de nouveau
<html>
<body>
<form method=post action=inscription.php>
Adresse email: <input type=text name=email><br>
<input type=submit value="Ok">
</form>
</body>
</html>
inscription.php:
<?
$point = strpos($email, "."); // Retourne la position du premier point trouver dans la variable email
$aroba = strpos($email, "@"); // Retourne la position du premier arobase trouver dans la variable email

if($point=='' || $aroba == '') //Si point ou aroba n'est pas là
{
print ("Un champs est invalide.<p>"); //Affique que l'adresse est invalide.
Require("formulaire.htm"); // Réaffiche le formulaire d'inscription
exit; //Arrête le script
}
$mysql = mysql_connect("localhost", "login", "password"); // On se connecte à la base de donnée
mysql_select_db("base_de_donne",$mysql); // On choisi notre base de donnée
mysql_query("INSERT INTO mailing_tbl VALUE('',$email)"); //On ajout l'email
mysql_close($mysql); // On ferme la connection
?>

mailing.htm:
<html>
<body>
<form method=post action=mailing.php>
Email de l'auteur: <input type=text name=auteur><br>
Sujet:<input type=text name=sujet><br>
Contenu: <textarea cols="89" rows="10" name="contenu"></textarea><br>
<input type=submit value="Envoyer">
</form>
</body>
</html>

mailing.php:
<?
$point = strpos($auteur, "."); // Retourne la position du premier point trouver dans la variable email
$aroba = strpos($auteur, "@"); // Retourne la position du premier arobase trouver dans la variable email

if($point=='' || $aroba == '' || $contenu == '') //Si point, aroba ou contenu n'est pas là
{
print ("Un champs est invalide.<p>"); //Affique que l'adresse est invalide.
Require("mailing.htm"); // Réaffiche le formulaire d'inscription
exit; //Arrête le script
}
$mysql = mysql_connect("localhost","login","password"); // On se connecte à la base de donnée
mysql_select_db("base_de_donnee",$mysql); // On choisi notre base de donnée
$req = mysql_query("SELECT * FROM mailing_tbl"); // On sélectionne tout dans la table
while($data = mysql_fetch_array($req)) // On fait une boucle pour envoyer par email un par un.
{
mail($data['email'], $sujet, $contenu, "From:$auteur");
}

mysql_close($mysql); // On ferme la connection
?> 

Conclusion

J'ai fait ce script la le soir tard et je ne l'ai pas tester, mais il devrait marcher donc dite moi le s'il y a un erreur. Je le corrigerez le plus vite possible.

Cette mailing list la n'est pas complètr du tout (pour la protection de page c'est sur d'autre de mes tutorials) mais si assez de monde insiste par message privé ou par commentaire, je vais améliorer le script pour qu'il soit le meilleur possible, et rajouterez des options beaucoup plus complets.
 

Commentaires et avis

signaler à un administrateur
Commentaire de NitRic le 12/03/2003 04:52:54

Pour commencer c VARCHAR et non VARCHAT :)
Pour continuer, ta class 'frmtxt' elle est ou???
Et encore, la validation d'un email n'est pas fort fort mais bon ...
On poursuit, s'il y à environ 5 000 mail à envoyer, ca va être vraiment mais vraiment long ... :
Ensuite, les newbies qui ne si connaisse pas beaucoup vont surement utiliser cette méthode pour faire leur mailing list =P
Alors un autre nom pour ton source serai de mise non!? :)
Ou bien simplement leur dire de ne pas utiliser cette méthode :)
Ce n'est qu'un simple exemple!!! =P

Et pour terminer et bien ... bravo, c quand-même(faut bien le dire) une jolie source! :) Ca peut apprendre beaucoup au newbies :)

(PS: Pour les incultes(blague), newbies == débutants)


Ce commentaire à été pensé, écrit et posté par  NitRic  
NitRic© Toute reproduction même partielle est interdite même avec accord écrit de l'auteur =P


Sur ce, BeuBye && @++;

=P

signaler à un administrateur
Commentaire de SmallToad le 12/03/2003 17:18:50

C'est fait pour les newbies mais je crois que je vais faire une vraiment meilleur, il y a une façon bien simple de mettre tous les adresses dans une varialbe pour ensuite envoyer. Ça revient moin long.

Bon je commence ça, A+

SmallToad

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version


HTC Magic

Entre 429€ et 429€


Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,250 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.