Login Unique
Line
-
pyschopathe Messages postés 2053 Statut Membre -
pyschopathe Messages postés 2053 Statut Membre -
Bonjour,
Je réalise un formulaire sur mon site et je dois réaliser un test avant l'enregistrement du nouvel utilisateur.
Ce test doit vérifier que le nom de login donné par l'utilisateur n'existe pas déjà dans la base de données.
Je pense faire une requête qui va chercher dans ma base tous les login pour la comparer à celui donné par l'utilisateur mais je ne sais pas trop comment réaliser cette comparaison.
Si vous avez une idée.
Merci d'avance.
Je réalise un formulaire sur mon site et je dois réaliser un test avant l'enregistrement du nouvel utilisateur.
Ce test doit vérifier que le nom de login donné par l'utilisateur n'existe pas déjà dans la base de données.
Je pense faire une requête qui va chercher dans ma base tous les login pour la comparer à celui donné par l'utilisateur mais je ne sais pas trop comment réaliser cette comparaison.
Si vous avez une idée.
Merci d'avance.
Configuration: Windows Vista Firefox 3.0.10
A voir également:
- Login Unique
- Coque unique - <a href="https://forums.commentcamarche.net/forum/consommation-internet-301">Forum Consommation & Internet</a>
- Wifipass pierre et vacances login - <a href="https://forums.commentcamarche.net/forum/reseaux-sociaux-10">Forum Réseaux sociaux</a>
- Kelma login - <a href="https://forums.commentcamarche.net/forum/reseaux-sociaux-10">Forum Réseaux sociaux</a>
- On me demande mon login ✓ - <a href="https://forums.commentcamarche.net/forum/webmaster-24">Forum Webmastering</a>
- Qu'est ce qu'un login ? - <a href="https://forums.commentcamarche.net/forum/reseaux-sociaux-10">Forum Réseaux sociaux</a>
12 réponses
Tu fais une requête qui sélectionne les utilisateurs qui ont un login identique à celui que la personne veut enregistrer.
Si tu as un enregistrement en retour, c'est que c'est déjà pris. Si tu n'as aucun enregistrement en retour, c'est que tu peux l'insérer.
Si tu as un enregistrement en retour, c'est que c'est déjà pris. Si tu n'as aucun enregistrement en retour, c'est que tu peux l'insérer.
if(mysql_num_rows($result)!= 0)
{
while($row = mysql_fetch_array($result))
{
if($row["login"] == $_POST["txtlogin"])
{
echo "Le login est déjà utilisé";
break;
}
}
}
else
{
echo "Le login est accepté!";
cordialement
{
while($row = mysql_fetch_array($result))
{
if($row["login"] == $_POST["txtlogin"])
{
echo "Le login est déjà utilisé";
break;
}
}
}
else
{
echo "Le login est accepté!";
cordialement
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Est-il possible d'afficher à côté du champs Login un champ qui afficherai (comme sur de nombreux sites) en vert "Login disponible" ou en rouge "Login déjà utilisé" ???
euuh aucune idée, mais si tu vx ya un astuce: avant le echo"login deja utilisé" tu ajoutes echo"<fontcolor=green>"!!
Pour l'instant j'ai çà et ça ne marche pas : message d'erreur -> Parse error: parse error, unexpected T_VARIABLE in C:\Program Files\... on line 40( ligne 40 : $resultLogin = mysql_query($sqlLogin);)
//verification disponibilité du login
$sqlLogin="SELECT Login FROM utilisateurs WHERE Login='$Login'"
$resultLogin = mysql_query($sqlLogin);
If(mysql_num_rows($resultLogin)!= 0)
{
while($row = mysql_fetch_array($resultLogin))
{
if($row["Login"] == $_POST["Login"])
{
echo "Le login est déjà utilisé";
break;
}
}
}
else
{
echo "Le login est accepté!";
}
//verification disponibilité du login
$sqlLogin="SELECT Login FROM utilisateurs WHERE Login='$Login'"
$resultLogin = mysql_query($sqlLogin);
If(mysql_num_rows($resultLogin)!= 0)
{
while($row = mysql_fetch_array($resultLogin))
{
if($row["Login"] == $_POST["Login"])
{
echo "Le login est déjà utilisé";
break;
}
}
}
else
{
echo "Le login est accepté!";
}
unexpected T_VARIABLE in C:\Program Files\.......
apparement tu as utilisé une variable nommée T_VARIABLE non declarée ou truc de ce genre!!
apparement tu as utilisé une variable nommée T_VARIABLE non declarée ou truc de ce genre!!
Oki, pour vérifier la disponibilité d'un pseudo, tu vas effectivement devoir vérifier dans ta BD si le pseudo existe. Tu vas faire un script dispo_pseudo.php :
Ensuite pour avoir un affichage correspondant à la validité du pseudo sans avoir à recharger la page, il faut utiliser AJAX : lorsque l'utilisateur sort du champ de saisie, tu lances une requête asynchrone vers le serveur pour récupérer le script dispo_pseudo.php en lui passant en paramètre la valeur courante de la balise input.
Renseigne-toi sur AJAX si tu ne sais pas comment faire, tu as plein de bons tutos sur le net.
if ( isset( $_GET['login'] ) ) {
$login = mysql_real_escape_string( $GET['login'] ) ;
} else if ( isset( $_POST['login'] ) ) {
$login = mysql_real_escape_string( $GET['login'] ) ;
} else exit( -1 ); // erreur pas de pseudo fourni !
$request = "SELECT login FROM users WHERE login='$login'";
$result = mysql_query( $request );
if ( $result ) {
if ( mysql_num_rows( $result ) !== 0 ) {
return 1; // pseudo non disponible
} else return 0; //pseudo disponible
} else exit( -2 ); // erreur problème avec la BD !
Ensuite pour avoir un affichage correspondant à la validité du pseudo sans avoir à recharger la page, il faut utiliser AJAX : lorsque l'utilisateur sort du champ de saisie, tu lances une requête asynchrone vers le serveur pour récupérer le script dispo_pseudo.php en lui passant en paramètre la valeur courante de la balise input.
Renseigne-toi sur AJAX si tu ne sais pas comment faire, tu as plein de bons tutos sur le net.
Merci bcp mais vu que je ne connais pas du tout AJAX et que je n'ai pas beaucoup de tps je ne sais pas si je vais réussir avec cette méthode...
Tu n'as pas vraiment besoin d'AJAX : tu peux utiliser le code pour vérifier côté serveur (après la soumission du formulaire) et renvoyer un message en couleur en fonction de la disponibilité ou non...
function verifPseudo( $login ) {
$login = mysql_real_escape_string( $login ) ;
$request = "SELECT login FROM users WHERE login='$login'";
$result = mysql_query( $request );
if ( $result ) {
if ( mysql_num_rows( $result ) !== 0 ) {
return 1; // pseudo non disponible
} else return 0; //pseudo disponible
} else return -1; // erreur problème avec la BD !
}
if ( isset( $_GET['login'] ) ) {
$existe = verifPseudo( $_GET['login'] );
} else if ( isset( $_POST['login'] ) ) {
$existe = verifPseudo( $_POST['login'] );
} else exit( -1 ); // erreur pas de pseudo fourni !
if ( $existe === 0 ) {
// Le pseudo est libre
echo '<p class="ok">Le pseudo est disponible :-)</p>';
} else if ( $existe === 1 ) {
// Le pseudo est déjà utilisé
echo '<p class="ko">Ce pseudo est déjà utilisé :-(</p>';
} else {
// Erreur
echo '<p class="erreur">Une erreur a été rencontrée lors de la vérification de la disponibilité du pseudo X-(</p>';
}Ensuite dans ton CSS, tu définis le style des éléments de class ok, ko et erreur.