PHP - inserer des mails d'un fichier texte à

Fermé
kiss - 15 janv. 2009 à 19:38
muska92 Messages postés 277 Date d'inscription lundi 14 février 2005 Statut Membre Dernière intervention 14 août 2009 - 15 janv. 2009 à 20:05
Bonjour,
j'ai un script qui insert parfaitement mes mails dans ma base de donnée a laide d'un fichier texte.
mais lorsque je décide de vérifier la validation des mails avant de les insérer il ne prend en compte que le dernier mail.
bref mon fichier texte:mail.txt

x1@hotmail.com
x2@hotmail.com
x3@hotmail.com


mon script:

<?php
include('connect.php');



if (!$fp = fopen("mail.txt","r"))//mail.txt est un fichier text qui contient l'ensemble des enregistrement
{
echo "Echec de l'ouverture du fichier";
exit;
}
else
{
while(!feof($fp))
{
// On récupère une ligne
$Ligne = fgets($fp,255);


$atom = '[-a-z0-9!#$%&\'*+\\/=?^_`{|}~]'; // caractères autorisés avant l'arobase
$domain = '([a-z0-9]([-a-z0-9]*[a-z0-9]+)?)'; // caractères autorisés après l'arobase (nom de domaine)

$regex = '/^' . $atom . '+' . // Une ou plusieurs fois les caractères autorisés avant l'arobase
'(\.' . $atom . '+)*' . // Suivis par zéro point ou plus
// séparés par des caractères autorisés avant l'arobase
'@' . // Suivis d'un arobase
'(' . $domain . '{1,63}\.)+' . // Suivis par 1 à 63 caractères autorisés pour le nom de domaine
// séparés par des points
$domain . '{2,63}$/i'; // Suivi de 2 à 63 caractères autorisés pour le nom de domaine



if (preg_match($regex, $Ligne))
{
$sql="insert into lettre (email) values ('$Ligne')";
$res=mysql_query($sql) or die( "Echec de selection" );
$tot=$tot + mysql_affected_rows() or die( "Echec de selection2" );
}
else
{
echo 'L\'adresse ' . $Ligne . ' n\'est pas valide, recommencez ! <br />';
}
// On affiche la ligne
//echo $Ligne;


}
foreach($_FILES as $fichier)
// echo $fichier['name'] . "<br/>";
echo " $tot mails du fichier ".$fichier['name'] ." ont été inserés dans la base";


fclose($fp); // On ferme le fichier
}

?>


et en fin le message qu'il me ramène:

L'adresse x1@hotmail.com n'est pas valide, recommencez !
L'adresse x2@hotmail.com n'est pas valide, recommencez !
1 mails du fichier mail.txt ont été insérés dans la base


merci de bien vouloir m'aider
A voir également:

2 réponses

muska92 Messages postés 277 Date d'inscription lundi 14 février 2005 Statut Membre Dernière intervention 14 août 2009 42
15 janv. 2009 à 19:46
bonsoir
pourquoi tu ne vérifie pas les mail avant de les ajouter dans mail.txt, c'est plus simple
0
exactement, les mails qui son dans le fichier mail.txt son correcte voila pourquoi je ne comprend pas pourquoi il me ramène un message de no valide.
j'ai même dupliquer un même mail plus de trois fois et il a reconnu que le dernier mail comme un mail correcte.
0
muska92 Messages postés 277 Date d'inscription lundi 14 février 2005 Statut Membre Dernière intervention 14 août 2009 42
15 janv. 2009 à 20:05
ok , et les mail dans ton fichier text ils sont séparer comment ( juste un espace un retour a la ligne ) parceque si tu les sépare pas ben le script peut pas savoir que la prochaine ligne c'est nouvelle adresse mail bref jte conseil d'utiliser * comme séparateur
0