IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Vérification de l'existance d'un Pseudo [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre régulier Avatar de Nadd
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2005
    Messages
    160
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2005
    Messages : 160
    Points : 95
    Points
    95
    Par défaut Vérification de l'existance d'un Pseudo
    Bonsoir,

    J'ai crée un petit code vérifiant dans une BDD si un Username existe déja ou pas. Seul problème, à chaque fois, même si l'Username n'existe pas, l'erreur "Pseudo existant" apparaît à chaque fois :s

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
     
    $template->set_filenames(array(
    	'inscr' => 'inscr.html')
    );
     
    if($_POST['username'] != NULL && $_POST['password'] != NULL && $_POST['nom'] != NULL && $_POST['prenom'] != NULL && $_POST['annee_age'] != NULL && is_numeric($_POST['annee_age']) && $_POST['adresse'] != NULL && $_POST['ville'] != NULL && $_POST['province'] != NULL && $_POST['email'] != NULL && ereg('^.+@.+\\..+$', $_POST['email']) && $_POST['ecole'] != NULL && $_POST['annee_ecole'] != NULL){
     
    $sql = "SELECT Username FROM icb_users WHERE Username='".$_POST['username']."'";
     
    if( !($result = $db->sql_query($sql)) )
    {
    $password = md5($_POST['password']);
     
    $date_xxhhxx = "$jour/$mois/$annee";
     
    $sql = "INSERT INTO `icb_users` (`ID`, `Username`, `Password`, `Nom`, `Prenom`, `Annee_age`, `Adresse`, `Ville`, `Province`, `TelFix`, `TelGSM`, `Email`, `Level`, `Date`, `Ecole`, `Annee_ecole`, `Act`) VALUES (NULL, '".$_POST['username']."', '".$password."', '".$_POST['nom']."', '".$_POST['prenom']."', '".$_POST['annee_age']."', '".$_POST['adresse']."', '".$_POST['ville']."', '".$_POST['province']."', '".$_POST['telfix']."', '".$_POST['telgsm']."', '".$_POST['email']."', '0', '".$date_xxhhxx."', '".$_POST['ecole']."', '".$_POST['annee_ecole']."', '0')";
     
    @mysql_query($sql);
     
    $template->assign_vars(array(
    			'MARK' => "<!--",
    			'MESS' => "Inscription terminée ! Votre compte sera activé par l'administration le plus vite possible.",
    			'MARK_' => "-->"));
     
    }
     
    else{
    $template->assign_vars(array(
    			'MESS' => "Le pseudonyme que vous avez choisi existe déja !"));
    }
    }
    else{
    $template->assign_vars(array(
    			'MESS' => "Formulaire erroné !"));
    }
     
    $template->pparse('inscr');
    En vous remerciant d'avance,

    Nadd

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 109
    Points : 57
    Points
    57
    Par défaut
    $_POST['username'] est-il correctement interprété dans ton code ? Fais un echo de la requpete $sql pour voir si c'est bien interpréter comme il faut.

  3. #3
    Membre régulier Avatar de Nadd
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2005
    Messages
    160
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2005
    Messages : 160
    Points : 95
    Points
    95
    Par défaut
    Oui il l'est

  4. #4
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Points : 29 985
    Points
    29 985
    Par défaut
    Salut

    Plusieurs choses :
    • Préfère !empty($variable) à $variable != NULL
      Cela t'évitera de recevoir des messages d'erreur (j'espère que ta machine de développement n'a pas désactivé error_reporting...).
    • Pense à toujours protéger tes variables avant de les utiliser dans une requête, par exemple avec mysql_real_escape_string(). Si tu ne le fais pas, tu t'exposes à toutes les injections SQL possibles et imaginables.
    • Tester ($result = $db->sql_query($sql)) permet uniquement de savoir si la requête a pu être exécutée correctement, non de savoir si un résultat a été retourné. C'est le boulot de ($user = $db->sql_fetchrow($result)).
      En l'occurence, tu sembles donc avoir une erreur de syntaxe SQL. Affiche $sql et mysql_error().

  5. #5
    Membre régulier Avatar de Nadd
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2005
    Messages
    160
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2005
    Messages : 160
    Points : 95
    Points
    95
    Par défaut
    Merci beaucoup !

    Ca marche sans problème

    Amicalement,

    Nadd.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Vérification de l'existence d'une fonction
    Par seub17 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 23/10/2006, 08h57
  2. [MySQL] Vérification si user existe déjà
    Par xender dans le forum PHP & Base de données
    Réponses: 12
    Dernier message: 25/04/2006, 14h57
  3. Vérification de l'existance d'un fichier via HTTP
    Par mouste79 dans le forum Général JavaScript
    Réponses: 18
    Dernier message: 02/02/2006, 14h26
  4. Vérification de l'existence d'un lien / url (link checker)
    Par strek100 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 19/10/2005, 07h34
  5. Vérification de l'existence d'un fichier
    Par alfu dans le forum ASP
    Réponses: 2
    Dernier message: 06/10/2004, 13h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo