Probleme base de donnée

Résolu
cs_gromito Messages postés 28 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 28 février 2005 - 2 févr. 2005 à 14:56
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 - 2 févr. 2005 à 20:27
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

cseagle Messages postés 99 Date d'inscription vendredi 18 avril 2003 Statut Membre Dernière intervention 5 août 2009
2 févr. 2005 à 15:30
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";

}
3
cs_gromito Messages postés 28 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 28 février 2005
2 févr. 2005 à 16:12
Merci a toi pour cette reponse rapide et qui fonctionne a merveille
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
2 févr. 2005 à 20:27
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)
0
Rejoignez-nous