Vérifier si un login existe sur une BBD

gu-guss Messages postés 70 Statut Membre -  
 guguss -
Bonjour,
j'voudrais vérifier si un login existe sur ma base de donnée quand l'utilisateur s'enegistre !!!! comme le truc sur le formulaire commentcamarche !!regardez le !

4 réponses

guguss
 
voilà j'ai créé une fonction en js intégré dans du code php:
<?php
//connection à votre BDD
$select=mysql_select_db($base,$connect)or die("Une erreur est apparue lors de la connexion à la base de données");
$res="[";
$req='SELECT login FROM table_membres';
$reqq=mysql_query($req)or die("Erreur:".mysql_error());
$num=mysql_num_rows($reqq);

for ($i=0;$i<$num;$i++)
{
$rows=mysql_fetch_array($reqq);
$res .= '"'.strtolower($rows['login']).'"';
if ($i!=$num-1){$res .=',';}else{$res .=']';}}
echo'<SCRIPT language="javascript">
function login(){
//on rempli un tableau avec les logins qui existent
var login= '.$res.';
var ii = '.$num.';
for (i=0; i<ii; i++){
//formulaire = formulaire,champ du login = login
if (login[i] == document.formulaire.login.value) {
//si le login existe alors on affichera une alerte
alert("le login que vous avez choisi \""+login[i]+"\" existe déjà. \n Veuillez choisir un autre login. Merci !");
var off=0;
var i=ii+1;}
}
if (off!=0) {
//ici pour vérifier le champs login s'il n'y a pas des cartères spéciaux, une espace ou bien nombre de cacar est <5
var form = document.formulaire;
var r = new RegExp("[\<|\>|\ |\"|\'|\%|\;|\(|\)|\&|\+|\-]", "i");
if (form.login.value == "") {
alert( "Saisissez un login." );
} else if ((r.exec(form.login.value)) || (form.login.value.length <5)) {
alert( "Saisissez un Nom d\'utilisateur : valide.\n Au moins 5 caractères, alphanumériques uniquement 0-9,a-z,A-Z, et sans espaces" );}
else {alert("Disponible!");}}}

</SCRIPT>'; ?>

dans la page sous le champs login ou bien vers la fin on met un boutton tester disponibilitée:
<a href="javascript:login();" >teter</a>
4
HostOfSeraphim Messages postés 7340 Statut Contributeur 1 608
 
Je ne vais pas te donner la solution directement pour que tu travailles quand même un peu...

Mais en gros, tu récupères le nom de l'utilisateur, que tu mets dans une variable ; ensuite, tu fais une simple requête sur ta table d'utilisateurs, type "select login from t_utilisateurs where login=leloginproprose"... si tu n'a rien en retour, c'est que le login n'existe pas ; si tu as une ligne en retour, c'est qu'il existe déjà.

0
gu-guss Messages postés 70 Statut Membre 1
 
plz la solution :d je ne suis qu'un débutant :d
0
nibyse
 
Je recherche la mème chose a part que je souhaite le faire dynamiquement.

En gros lors de la saisie que ça affiche directement à l'utilisateur si ce nom est déja pris sinon j'ai trouvé

//ont stock le login dans une variable pseudo
$pseudo="toto";
//ont inclus le fichiers de connexion à la DB mais ont peux inscrire direct les info dans le script
include "connect.php";
//ont définit la requète SQL dans une variable
$sql="SELECT * FROM users";
$count="0";
$answer = mysql_query($sql)
while ($answer_data = mysql_fetch_array($reponse) )
{
if ($pseudo!=$answer_data):
:
else:
$count=$count+1;
}
if ($count!="0"):
echo "Attention le pseudo que vous désirez est déja pris. Veillez en choisir un autre !";
else:
//requète pour ajouter l'utilisateur
endif;
?>

mais cette solution ne me conviens pas.

D'avance merci

Nibyse
0