Probleme base de donnée

Résolu
Signaler
Messages postés
28
Date d'inscription
mercredi 22 janvier 2003
Statut
Membre
Dernière intervention
28 février 2005
-
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
-
Salut a tous,

Je suis en train de créer un site maisj ai un probleme.

Pour l inscription sur mon site j arrive a enregistrer les données dans
la base de données mais je ne sais pas comment evité les doublons. J'ai
essayé avec ce programme:



$resultat = mysql_query( "SELECT login FROM utilisateur");

$nomb_lignes = mysql_num_rows( $resultat);



while ($une_ligne = mysql_fetch_row( $resultat)) {

if( $resultat == $utilisateur) {

print "Ce pseudo existe deja";

}

else

{

$requete
= "INSERT INTO utilisateur( login, pass, puissance, vitesse, endurance,
energie, xp_total, xp_utilise, combat_g, combat_p, point, argent)
VALUES ('$login', '$pass', 10, 10, 10, 20, 0, 0, 0, 0, 0, 500)";

mysql_query( $requete, $lien) or die( "erreur insert: ".mysql_error() );

print " Votre inscription a bien ete prise en compte";

}

}



mais cela ne permet pas d'évité les doublons et ce la me crée meme deux fois le meme enregistrement.



merci d avance pour votre aide

3 réponses

Messages postés
99
Date d'inscription
vendredi 18 avril 2003
Statut
Membre
Dernière intervention
5 août 2009

Salut,



Essai plutôt ça :



if(!isset($_POST[login])) { // test si la variable login a été envoyée

$login =
$_POST[login] ;


} else {

echo"Erreur, vous n'avez pas rentré de login !";

exit;

}

$resultat = mysql_query( "SELECT login FROM utilisateur WHERE login="$login"");

$nomb_lignes = mysql_num_rows( $resultat);




if( $
nomb_lignes!= 0
) { // s'il y a au moins un résultat (donc pas 0)

print "Ce pseudo existe deja";

}

else

{

$requete
= "INSERT INTO utilisateur ( login, pass, puissance, vitesse, endurance,
energie, xp_total, xp_utilise, combat_g, combat_p, point, argent)
VALUES ('$login', '$pass', 10, 10, 10, 20, 0, 0, 0, 0, 0, 500)";

mysql_query( $requete, $lien) or die( "erreur insert: ".mysql_error() );

print " Votre inscription a bien ete prise en compte";

}
Messages postés
28
Date d'inscription
mercredi 22 janvier 2003
Statut
Membre
Dernière intervention
28 février 2005

Merci a toi pour cette reponse rapide et qui fonctionne a merveille
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
9
Salut,



$login =
$_POST['login'] ; et pas
$login =
$_POST[login] ;



ensuite if(
mysql_num_rows( $resultat)!=0))

{



}



au lieu de passer par une variable.



Voilà



a ++



Vulgarisation informatique : Entraide, dépannage et vulgarisation informatique

Forum d'entraide informatique (14 catégories)