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 -
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.
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:
- Vérifié plusieurs entrées pour un espace membre
- Espace insécable - Guide
- Espace de stockage gmail plein - Guide
- Membre indisponible vinted - Guide
- Espace stockage google - Guide
- Liberer espace ipad - Guide
1 réponse
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();
?>
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();
?>