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 :

Test variable ne se declenche pas [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 92
    Points : 47
    Points
    47
    Par défaut Test variable ne se declenche pas
    Bonsoir à tous et comme d'hab merci à ceux qui prendront le temps de me lire et de me repondre.

    Voila mon probleme ce morceaux de code ci-dessous est censé verifier si un utilisateur est deja enregistrer avec un meme 'username' mais à chaque fois que je teste il laisse passez l'inscription d'un nouveau membre avec un 'username' deja existant.

    Voici le code :

    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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    <?php
    session_start();
     
    // on teste si le visiteur a soumis le formulaire
    if (isset($_POST['register']) && $_POST['register'] == 'register') { 
       // on teste l'existence de nos variables. On teste également si elles ne sont pas vides
       if ((isset($_POST['mail_address']) && !empty($_POST['mail_address'])) && (isset($_POST['username']) && !empty($_POST['username'])) && (isset($_POST['password']) && !empty($_POST['password'])) && (isset($_POST['confirm_password']) && !empty($_POST['confirm_password']))) { 
     
    	  //On enleve lechappement si get_magic_quotes_gpc est active
            if(get_magic_quotes_gpc())
            {
                    $_POST['username'] = stripslashes($_POST['username']);
                    $_POST['password'] = stripslashes($_POST['password']);
                    $_POST['confirm_password'] = stripslashes($_POST['confirm_password']);
                    $_POST['mail_address'] = stripslashes($_POST['mail_address']);
            }
     
    	  // on teste les deux mots de passe
          if ($_POST['password'] == $_POST['confirm_password']) { 
             $erreur = 'The two passwords are different.'; 
          } 
          else { 
          $base = mysql_connect ('XXXX', 'XXX', ''); 
          mysql_select_db ('XXXX', $base); 
     
     
             // on recherche si ce username est déjà utilisé par un autre membre
             $sql = 'SELECT id FROM user WHERE username="'.mysql_escape_string($_POST['username']).'"'; 
             $req = mysql_query($sql) or die('erreur SQL !<br />'.$sql.'<br />'.mysql_error()); 
             $data = mysql_fetch_array($req); 
     
             if ($nb == 0) {  
                $sql = 'INSERT INTO user VALUES("" ,"'.mysql_escape_string($_POST['mail_address']).'", "'.mysql_escape_string($_POST['username']).'", "'.mysql_escape_string(md5($_POST['password'].$salt)).'")'; 
                mysql_query($sql) or die('erreur SQL !'.$sql.'<br />'.mysql_error()); 
     
    			 // on récupère l'id de notre nouveau membre
                $id = mysql_insert_id();
     
                session_start(); 
                $_SESSION['username'] = $_POST['username']; 
     
    			// on stocke cet id dans une variable de session
                $_SESSION['id'] = $id; 
                header('Location: index.php'); 
                exit(); 
             } 
             else { 
                $erreur = 'Another member is already using this pseudo or email'; 
             } 
          } 
       } 
       else { 
          $erreur = 'Please fill in all fields'; 
       }  
    }  
    ?>
    Merci à tous. Bonne soirée.

  2. #2
    Membre éclairé
    Inscrit en
    Juillet 2003
    Messages
    625
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 625
    Points : 673
    Points
    673
    Par défaut
    Bonjour,

    $nb vient d'où ?
    Le savoir est utile que s'il est partagé par tous.
    /(bb|[^b]{2})/
    !sleep() ? array((string))

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 92
    Points : 47
    Points
    47
    Par défaut
    Bonne question... C'est une partie de script que j'ai récupérer quelque part et que j'ai modifié quelque peu. Il ne me semble pas avoir modifié cette partie qui devait déjà exister dans le code.

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    265
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 265
    Points : 281
    Points
    281
    Par défaut
    Vu le code, je pense qu'il suffit de remplacer, ligne 30 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $data = mysql_fetch_array($req);
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $nb = mysql_num_rows($req);

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 92
    Points : 47
    Points
    47
    Par défaut Test variable ne se declenche pas
    Ok super ! Ca fonctionne ! Merci à toi.

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

Discussions similaires

  1. variable ne s'affiche pas correctement
    Par Didier100 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 8
    Dernier message: 24/02/2006, 14h01
  2. [Système] variable qui ne passe pas !!!
    Par azorol dans le forum Langage
    Réponses: 21
    Dernier message: 20/02/2006, 10h53
  3. Serveur Xorg sur debian testing qui ne se lance pas
    Par Cyrius dans le forum Applications et environnements graphiques
    Réponses: 7
    Dernier message: 01/01/2006, 23h25
  4. [Tableaux] variable qui ne passe pas
    Par oceane751 dans le forum Langage
    Réponses: 5
    Dernier message: 31/12/2005, 02h56
  5. [TForm.Deactivate] Ne se declenche pas !
    Par kase74 dans le forum Débuter
    Réponses: 15
    Dernier message: 23/06/2005, 16h03

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