Inscription - vérification des pseudos
Posté : 19 juil. 2011, 23:33
Bonjour!
J'ai commencé le PHP/SQL il y a 2 jours seulement. J'ai tenté de créer un script d'inscription avec quelques sécurités (vérification du mail, des champs vides,...). Mon soucis c'est que maintenant je souhaiterais vérifier si le pseudo entré par les gens est déjà existant dans la bdd ou pas, sinon: erreur et pas d'insertion.
Je vois pas vraiment comment faire ça, alors je vous partage mon code, en espérant obtenir un petit coup de pouce:
Merci d'avance
J'ai commencé le PHP/SQL il y a 2 jours seulement. J'ai tenté de créer un script d'inscription avec quelques sécurités (vérification du mail, des champs vides,...). Mon soucis c'est que maintenant je souhaiterais vérifier si le pseudo entré par les gens est déjà existant dans la bdd ou pas, sinon: erreur et pas d'insertion.
Je vois pas vraiment comment faire ça, alors je vous partage mon code, en espérant obtenir un petit coup de pouce:
<?php
//connexion à la bdd
include("connexionbdd.php");
//fin de connexion à la bdd
$drap = 0;
$_POST['pseudo'] = trim($_POST['pseudo']);
if (empty($_POST['pseudo'])) {
echo "<style>body{background-color:#FC3;}</style>Certains champs n'ont pas été remplis!<br>Veuillez <a href='formulaireinsc.php'>réessayer</a>.";
}
elseif (empty($_POST['mdp'])) {
echo "<style> body{background-color:#FC3;}</style>Certains champs n'ont pas été remplis!<br>Veuillez <a href='formulaireinsc.php'>réessayer</a>.";
}
elseif (empty($_POST['email'])) {
echo "<style>body{background-color:#FC3;}</style>Certains champs n'ont pas été remplis!<br>Veuillez <a href='formulaireinsc.php'>réessayer</a>.";
}
//anti doublon (not working)
// $listedespseudos = mysql_query("SELECT pseudo FROM membres");
// $pseudos = mysql_fetch_assoc($listedespseudos);
// elseif (ereg($_POST['pseudo'],$pseudos['pseudo'])) {
// echo "Pseudo déjà utilisé!";
// }
//fin anti doublon
//Sinon si TOUT (le mail aussi) EST OK, on exécute:
elseif (filter_var(($_POST['email']), FILTER_VALIDATE_EMAIL)) {
$drap = 1;
mysql_select_db("apprentissage", $con);
$pseudo = mysql_real_escape_string(htmlspecialchars($_POST['pseudo']));
$mdp = mysql_real_escape_string($_POST['mdp']);
$email = mysql_real_escape_string($_POST['email']);
//retrait des espaces
include("antiespaces.php");
//fin retrait des espaces
mysql_query("INSERT INTO membres (pseudo,mdp,email) VALUES ('$pseudo', '$mdp', '$email')");
echo "<style>body{background-color:#FC3;}</style>Vous êtes bien inscrit! <br><br>Bienvenue <b>".$pseudo."</b>!<br><br>Revenir à l'<a href='formulaireinsc.php'>accueil</a>.";
}
elseif ($drap == 0) {
echo "<style>body{background-color:#FC3;}</style>L'adresse mail est invalide! <br>Veuillez <a href='formulaireinsc.php'>réessayer</a>.";
}
//on ferme la connexion à la bdd
mysql_close($con);
?>
Vous pouvez remarquer la partie anti doublon insérée en commentaire qui ne fonctionnait pas Merci d'avance