Mailing list avec mysql

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

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.