Mailing list avec mysql

Soyez le premier à donner votre avis sur cette source.

Snippet vu 7 902 fois - Téléchargée 27 fois

Contenu du snippet

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 / Exemple :


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.

A voir également

Ajouter un commentaire

Commentaires

SmallToad
Messages postés
110
Date d'inscription
lundi 7 janvier 2002
Statut
Membre
Dernière intervention
26 septembre 2004
-
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
NitRic
Messages postés
402
Date d'inscription
mardi 1 mai 2001
Statut
Membre
Dernière intervention
15 août 2011
-
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

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.