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 :

script login probleme avec un if [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre régulier
    Inscrit en
    Décembre 2008
    Messages
    319
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 319
    Points : 89
    Points
    89
    Par défaut script login probleme avec un if
    Bonjour,

    voila j ai un script qui me permet au visiteur de créer un login mais apparemment mon if ne fonctionne pas le login est crée a chaque fois même si il existe dans la bdd ...

    merci de votre aide

    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
    if (isset($_POST['envoyer'])) {
    $login = mysql_result(mysql_query('SELECT COUNT(*) FROM user WHERE ss= "$ss"'), 0);
    if($login != 0)
    {
            echo "Ce login existe déjà.";
    }
    else {
     
    foreach($_POST as $index => $valeur) {
    	$$index = mysql_real_escape_string(trim($valeur));
    }
    $sql = "INSERT INTO user VALUES ('', '".$nom."', '".$prenom."','".$naissance."', '".$ss."' )";
    $res = mysql_query($sql);
    if ($res) { ?>
    <meta http-equiv="refresh" content="0;url=confirm_login.php" />
    <?php
    }
    }
     
    } 
    include("header.php"); 
    include("body_login.php"); 
    include("footer.php"); ?>

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    mysql_result() ne renvoit pas le nombre de résultat de la requête.
    Il faut utiliser ensuite mysql_num_rows()

  3. #3
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Salut,
    tu peux nous dire à quoi correspond la variable $ss?
    mysql_query('SELECT COUNT(*) FROM user WHERE ss= "$ss"')
    Mettre les valeurs dans des simples quotes.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql_query('SELECT COUNT(*) FROM user WHERE ss= \''.$ss.'\'')

  4. #4
    Membre régulier
    Inscrit en
    Décembre 2008
    Messages
    319
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 319
    Points : 89
    Points
    89
    Par défaut
    Merci de vos réponses je suis en train de regarder avec mysql_num_rows la variable ss correspond a un id

  5. #5
    Membre régulier
    Inscrit en
    Décembre 2008
    Messages
    319
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 319
    Points : 89
    Points
    89
    Par défaut
    j 'ai teste avec num_rows mai y a un souci je ne vois pa spourquoi voila le script :

    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
    if (isset($_POST['envoyer'])) {
    $login = mysql_result(mysql_query('SELECT COUNT(*) FROM user WHERE ss= "$ss"'), 0);
    $valeur_ss = mysql_num_rows($login);
    if($valeur_ss >= 0)
    {
            echo "Ce login existe déjà.";
    }
    else {
     
    foreach($_POST as $index => $valeur) {
    	$$index = mysql_real_escape_string(trim($valeur));
    }
    $sql = "INSERT INTO user VALUES ('', '".$nom."', '".$prenom."','".$naissance."', '".$ss."' )";
    $res = mysql_query($sql);
    if ($res) { ?>
    <meta http-equiv="refresh" content="0;url=confirm_login.php" />
    <?php
    }
    }
     
    } 
    include("header.php"); 
    include("body_login.php"); 
    include("footer.php"); ?>
    et voila le msage d'erreur :

    Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in W:\login.php on line 12

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Je m'excuse je n'avais pas vu ton embriquement avec mysql_result().
    Attention les variables ne sont pas interpretées dans les chaines de guillements simples :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $result = mysql_query("SELECT COUNT(*) FROM user WHERE ss='$ss'"):
    $count = mysql_result($result,0);
    if($count!= 0)
    {
            echo "Ce login existe déjà.";
    }

  7. #7
    Membre régulier
    Inscrit en
    Décembre 2008
    Messages
    319
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 319
    Points : 89
    Points
    89
    Par défaut
    Ça marche nickel merci beaucoup

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

Discussions similaires

  1. script login probleme cookies
    Par stefanelle dans le forum Langage
    Réponses: 14
    Dernier message: 22/10/2009, 18h38
  2. script shell : probleme avec sed et awk
    Par salseropom dans le forum Shell et commandes GNU
    Réponses: 3
    Dernier message: 05/06/2007, 11h57
  3. [VB.Net] [login] probleme avec password recovery
    Par graphicsxp dans le forum ASP.NET
    Réponses: 5
    Dernier message: 17/02/2006, 14h53
  4. [langage] Probleme avec caractère '$' dans script Perl
    Par zouetchou dans le forum Langage
    Réponses: 11
    Dernier message: 24/07/2004, 15h35
  5. Problème avec un script ftp
    Par doohan dans le forum Linux
    Réponses: 2
    Dernier message: 25/06/2003, 17h47

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