[Php] Urgent ! : Newsletter

Fermé
WaKaaN - 19 janv. 2005 à 17:17
dugenou Messages postés 6087 Date d'inscription mercredi 19 janvier 2005 Statut Contributeur Dernière intervention 30 juillet 2021 - 20 janv. 2005 à 18:10
Bonjour !

en fait voila, j'ai créer une niewsletter en php, il fonctionne parfaitement, mais seuelement, il manque une fonction assez utile pour moi !

En fait, je voudrais savoir tester si l'adresse encodée n'existe po deja... Le stockage se fait par un fichier txt!

il suffirait just de comparer l'adresse encodée par celle dejà encodée et si celle-ci si trouve, alors j'affiche un message comme quoi l'adresse est déja inscrite !

Donc, voila pouvez vous maider siouplait ! c assez urgent !


MERCI DAVANCE !!
A voir également:

4 réponses

dugenou Messages postés 6087 Date d'inscription mercredi 19 janvier 2005 Statut Contributeur Dernière intervention 30 juillet 2021 1 451
19 janv. 2005 à 18:22
Bonsoir,

Si ça peut t'aider, voici la partie du script de la newsletter de mon site concernant cette vérification :

//on vérifie que l'adresse e-mail entré n'est pas déjà enregistrée dans la liste de diffusion.
$fp = fopen("news/result.lst","r");
while (!feof($fp)){$ligne = fgets($fp,4096);$email2 = explode("|",$ligne);}
fclose($fp);
for($x=0;$x <= sizeof($email2)-1;$x++)
{
if ($email2[$x] == $email){$test=0;$resultat = "<b>Erreur ! Votre adresse email est déjà enregistrée</b>";$pass2=1;}
}

Le script complet se trouve à cette adresse :

http://www.phpscripts-fr.net/recherche.php?recherche=my+newsletter+v1.0a&c=1&rub%5B%5D=script

Bon courage.
0
merci je v voir tout ca !!
0
pourrais-tu mexpliker ligne par ligne ce que ca fait stp pcq ca marche po et puis moi je voudrais un fichier texte ...

thx
0
dugenou Messages postés 6087 Date d'inscription mercredi 19 janvier 2005 Statut Contributeur Dernière intervention 30 juillet 2021 1 451
20 janv. 2005 à 18:10
Bonjour,

Le script n'est pas de moi, je suis seulement un utilisateur satisfait.

<a href = 'http://phortail.free.fr/' target='_blank' rel='nofollow'>http://phortail.free.fr/

Il fonctionne avec des fichiers texte même si l'extension n'est pas txt.

Visiblement, la partie du script (lignes 23 à 29) que je t'ai donnée recherche dans le fichier texte (result.lst) qui contient les adresses email des abonnés, si l'adresse proposée ($email) n'est pas déjà présente :

ligne 24 il ouvre le fichier texte et le lit

ligne 25 il recherche dans le fichier texte la présence éventuelle de l'adresse email proposée et enregistre le résultat dans la variable $email2

ligne 26 il referme le fichier texte

lignes 27 à 29 il compare l'adresse contenue au résultat de ses recherche : if ($email2[$x] == $email) et le cas échéant affiche un message, sinon il passe à l'étape suivante.

J'espère avoir répondu à ta question avec mes faibles connaissances en php.

Voici le script complet pour ceux que ça intéresse :

<html>
<head>
<title>Document sans-titre</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<script language="php">
if($pass2 !=1){$resultat="<b><font size='1'>Inscrivez-vous pour être informé des mises à jour de Phortail.<br><br>Votre adresse email :</font></b>";}
$test = 1;
if (strlen($email) >=1)
{
$email = str_replace("|","",$email);
//on vérifie le format de l'adresse e-mail et que les champs ne sont pas vide
$emailverif = $email;
$emailt1 = explode("@",$emailverif);
$emailt2 = explode(".",$emailverif);
$emailt3 = explode(" ",$emailverif);
$emailt4 = explode("@",$emailt2[0]);
if(($email) && (sizeof ($emailt1) == 2) && (sizeof ($emailt2) == 2) && (sizeof ($emailt3) == 1) && (sizeof ($emailt4) == 2)){}
else{$test = 0;$resultat = "<b>Erreur ! Votre email a été mal formatée</b>";$pass2=1;}

//on vérifie que l'adresse e-mail entré n'est pas déjà enregistrée dans la liste de diffusion.
$fp = fopen("news/result.lst","r");
while (!feof($fp)){$ligne = fgets($fp,4096);$email2 = explode("|",$ligne);}
fclose($fp);
for($x=0;$x <= sizeof($email2)-1;$x++)
{
if ($email2[$x] == $email){$test=0;$resultat = "<b>Erreur ! Votre adresse email est déjà enregistrée</b>";$pass2=1;}
}

if($test== 1 )
{
$fp = fopen("news/result.lst","a");fputs($fp,"$email|");fclose($fp);
$resultat = "<b>Votre inscription a bien été validée</b>";$pass2=1;
}
}
</script>
<div align="center">
<form method="post" action="index.php?pass2=$pass2">
<table width="35%" border="0" height="58">
<tr>
<td width="90%" height="31">
<div align="center">
<p><? echo($resultat) ?></p>
<input type="text" name="email"><br><br>
<input type="submit" name="submit" value="S'inscrire">
</div>
</td>
</tr>
</table>
</form>
<p></p>

</div>
</body>
</html>

A+
0