Vérifié plusieurs entrées pour un espace membre

Résolu
Pulsar360 Messages postés 113 Date d'inscription   Statut Membre Dernière intervention   -  
Pulsar360 Messages postés 113 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je suis en train de me créer un espace membre assez basique pour l'instant, seulement je n'arrive pas à vérifier si un pseudo et une adresse mail ont déjà été rentrée, seul la première entrées de ma bdd et analysée.

Voici mon code:

<?php
$_COOKIE=array_map("htmlspecialchars",$_COOKIE);
$_POST=array_map("htmlspecialchars",$_POST);
$ladates = date('Y-m-d-H-i-s');

// Ici nous testons:
// -si le pseudo et valide puis on le met en minuscule et si il est libre.
// -si les deux emails sont valides et identiques, on la met en minuscule et si elle est libre.
// -si les deux mots de passe sont valides et identiques.
// -on supprime chaque ancien cookie avant de testé de nouveau les entrées.

/*Dans la page précédente l'utilisateur doit rentré un pseudo, deux fois le mot de passe et deux fois sont adresse mail. */


setcookie ("pseudo", "", time() - 3600);
if (isset($_POST['pseudo']) AND ($_POST['pseudo'] != NULL) AND (preg_match("#^[a-zA-Z0-9éèàçù]{4,20}$#", $_POST['pseudo'])))
{
$_POST['pseudo'] = strtolower($_POST['pseudo']);
$bdd = mysql_connect("localhost", "root", "") or die('Erreur de connexion !<br>'.$sql.'<br>'.mysql_error());
mysql_select_db("ma_base", $bdd);
$sql = 'SELECT pseudo FROM membres';
$req = mysql_query($sql) or die('Erreur SQL!'.$sql.' '.mysql_error());
$donnee = mysql_fetch_array($req);
if($donnee['pseudo'] != $_POST['pseudo'])
{
setcookie ("pseudo", $_POST['pseudo'], time() + 1*1*3600);
}
}

setcookie ("email", "", time() - 3600);
if (isset($_POST['email']) AND ($_POST['email'] != NULL ) AND (preg_match("#^[a-zA-Z0-9éèàçù._-]+@[a-zA-Z0-9._-]{2,}\.[a-zA-Z0-9]{2,6}$#", $_POST['email'])))
{
if (isset($_POST['verifemail']) AND ($_POST['verifemail'] != NULL ))
{
if ($_POST['email'] == $_POST['verifemail'])
{
$_POST['email'] = strtolower($_POST['email']);
$bdd2 = mysql_connect("localhost", "root", "") or die('Erreur de connexion !<br>'.$sql2.'<br>'.mysql_error());
mysql_select_db("ma_base", $bdd2);
$sql2 = 'SELECT adresse_email FROM membres';
$req2 = mysql_query($sql2) or die('Erreur SQL2!'.$sql2.' '.mysql_error());
$donnee2 = mysql_fetch_array($req2);
if($donnee2['adresse_email'] != $_POST['email'])
{
setcookie ("email", $_POST['email'], time() + 1*1*3600);
}
}
}
}

setcookie ("mdp", "", time() - 3600);
if (isset($_POST['mdp']) AND ($_POST['mdp'] != NULL ) AND (preg_match("#^[a-zA-Z0-9,.?.:/!§ù%^¨*µ=+)°~#|'\^@]{8,}$#", $_POST['mdp'])))
{
if (isset($_POST['verifmdp']) AND ($_POST['verifmdp'] != NULL ))
{
if ($_POST['mdp'] == $_POST['mdp'])
{
setcookie ("mdp", $_POST['mdp'], time() + 1*1*3600);
}
}
}

header('Location: pagemess.php');
mysql_close();
?>

Donc voila, seul la première entrée de ma bdd est testé, si je rentre un pseudo ou un email qui existe dans la première entrée de ma base de bonne alors aucun cookie n'est créer, mais si je rentre un pseudo ou une adresse mail qui existe dans l'une des autres entrées alors les cookies sont créer, mais il ne devrais pas.

Si quelqu'un pouvais m'éclairer je l'en remercie d'avance.
A voir également:

1 réponse

Pulsar360 Messages postés 113 Date d'inscription   Statut Membre Dernière intervention   10
 
C'est bon j'ai répondu tous seul.
Je poste la réponse si un jour ça peux aider quelqu'un.
Ça fonctionne à la perfection.

<?php
$_COOKIE=array_map("htmlspecialchars",$_COOKIE);
$_POST=array_map("htmlspecialchars",$_POST);
$ladates = date('Y-m-d-H-i-s');

// Ici nous testons:
// -si le pseudo et valide puis on le met en minuscule et si il est libre.
// -si les deux emails sont valides et identiques et on la met en minuscule et si elle est libre.
// -si les deux mots de passe sont valides et identiques.
// -on supprime chaque ancien cookie avant de testé de nouveau les entrées.

setcookie ("pseudo", "", time() - 3600);
if (isset($_POST['pseudo']) AND ($_POST['pseudo'] != NULL) AND (preg_match("#^[a-zA-Z0-9éèàçù]{4,20}$#", $_POST['pseudo'])))
{
$_POST['pseudo'] = strtolower($_POST['pseudo']);
$bdd = mysql_connect("localhost", "root", "") or die('Erreur de connexion !<br>'.$sql.'<br>'.mysql_error());
mysql_select_db("ma_base", $bdd);
$sql = 'SELECT COUNT(pseudo) AS lepseudo FROM membres WHERE pseudo = "'. $_POST['pseudo'].'"';
$req = mysql_query($sql) or die('Erreur SQL!'.$sql.' '.mysql_error());
$donnee = mysql_fetch_array($req);
if($donnee['lepseudo'] == 0)
{
setcookie ("pseudo", $_POST['pseudo'], time() + 1*1*3600);
}
}

setcookie ("email", "", time() - 3600);
if (isset($_POST['email']) AND ($_POST['email'] != NULL ) AND (preg_match("#^[a-zA-Z0-9éèàçù._-]+@[a-zA-Z0-9._-]{2,}\.[a-zA-Z0-9]{2,6}$#", $_POST['email'])))
{
if (isset($_POST['verifemail']) AND ($_POST['verifemail'] != NULL ))
{
if ($_POST['email'] == $_POST['verifemail'])
{
$_POST['email'] = strtolower($_POST['email']);
$bdd2 = mysql_connect("localhost", "root", "") or die('Erreur de connexion !<br>'.$sql2.'<br>'.mysql_error());
mysql_select_db("ma_base", $bdd2);
$sql2 = 'SELECT COUNT(adresse_email) AS leemail FROM membres WHERE adresse_email = "'. $_POST['email'].'"';
$req2 = mysql_query($sql2) or die('Erreur SQL2!'.$sql2.' '.mysql_error());
$donnee2 = mysql_fetch_array($req2);
if($donnee2['leemail'] == 0)
{
setcookie ("email", $_POST['email'], time() + 1*1*3600);
}
}
}
}

setcookie ("mdp", "", time() - 3600);
if (isset($_POST['mdp']) AND ($_POST['mdp'] != NULL ) AND (preg_match("#^[a-zA-Z0-9,?:/!§ù%¨*µ=+)°~|'^@-]{8,}$#", $_POST['mdp'])))
{
if (isset($_POST['verifmdp']) AND ($_POST['verifmdp'] != NULL ))
{
if ($_POST['mdp'] == $_POST['verifmdp'])
{
setcookie ("mdp", $_POST['mdp'], time() + 1*1*3600);
}
}
}

header('Location: pagemess.php');

mysql_close();
?>
0