Je boucle, mes messages d'erreur s'affichent autant de fois qu'il y a d'enregistrements.
J'ai pas du tout la bonne logique de raisonnement au secours
<?
$pseudo=$_POST['pseudo'];
$mail=$_POST['mail'];
$ident="select * from dh_users";
$identification= mysql_query($ident);
$nb=mysql_num_rows($identification);
$i=0;
while ($i<$nb)
{
$utilisateur=mysql_result($identification,$i,'pseudo');
$password =mysql_result($identification,$i,'password');
// ------------------TEST SI L ADRESSE EMAIL A UN FORMAT VALABLE ------------------------
$atom = '[-a-z0-9!#$%&\'*+/=?^_`{|}~]'; // caractères autorisés avant l'arobase
$domain = '([a-z]([-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}$'; // Suivi de 2 à 63 caractères autorisés pour le nom de domaine
// test de l'adresse e-mail
if (eregi($regex, $email))
{
if (($utilisateur==$pseudo)||($password==$mail))
{
echo "Un Email va vous être envoyé avec un nouveau mot de passe, veuillez consulter vos mails à l'adresse que vous avez fourni lors de votre inscription";
//--------------------------------------------- GENERE UN NOUVEAU MOT DE PASSE ---------------------------------
// La fonction 'srand' initialise le générateur de nombres aléatoires
srand ((double) microtime() * 1000000);
// initialise avec les microsecondes depuis la dernière seconde entière
$nb_car_pass = rand(6, 8);
// ici on fait un randomize pour choisir aléatoirement le nombre de caractère du mot de passe
$tableau_car = array("a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", 1, 2, 3, 4, 5, 6, 7, 8, 9);
// On crée un tableau contenant les lettres et chiffres que l'on souhaite intégrer dans le mot de passe...plus on en met, plus la protection sera efficace et la génération plus diversifiées.
for ($i = 0; $i< $nb_car_pass; $i++){ //une petite boucle pour concaténer les caractères entre eux...
$password .= $tableau_car[rand(0, count($tableau_car) - 1)];}
// on fait un autre random pour choisir au hasard le caractère dans le tableau
// ----------------------------------------- ENVOIS DU NOUVEAU MOT DE PASSE PAR EMAIL ------------------------------------
$destinataire='$mail';
$from = "From: www.biofinesse.com\n";
$from .= "MIME-version: 1.0\n";
$from .= "Content-type: text/html; charset= iso-8859-1\n";
$titre= 'Votre nouveau mot de passe';
$contenu= '
<html><head></head><body>
Vous recevez cet e-mail parce que vous avez demandé à ce qu\'un nouveau mot de passe vous soit envoyé pour votre compte sur www.biofinesse.com .
<br><br>Votre nouveau mot de passe :<b>'.$password.'</b>
<br><br>Si vous désirez changer de mot de passe, ou choisir votre mot de passe vous même, merci de nous contacter à travers le site, ou à l\'adresse suivante info@biofinesse .com
</body>
</html>';
mail($destinataire,$titre,$contenu,$from);
}
else
{
echo "Mot de passe incorrect";
}
}
else
{
echo "L'adresse e-mail $email n'est pas valide";
}
$i++;
}
?>