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 :

Blocage sur authentification [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur frontend
    Inscrit en
    Octobre 2013
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur frontend

    Informations forums :
    Inscription : Octobre 2013
    Messages : 75
    Points : 56
    Points
    56
    Par défaut Blocage sur authentification
    Bonjour à tous,

    je galère depuis un bon moment sur une authentification et malgré mes nombreux va et vient sur la doc PHP et autre, je n'arrive pas à me débuguer, c'est pourquoi je me permets de poster ici.

    Voici mon problème: j'ai une requête SQL testé dans PHPMyAdmin qui me renvoi un résultat convenable mais le point noir c'est que je n'arrive pas à récupérer ce résultat en PHP voici mon 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
    $log = new Login; 
    $connect = new Connexion;
    $acces = new Acces;
    $mail = filter_input(INPUT_POST,$_POST['mail'], FILTER_SANITIZE_EMAIL);
    $pass = $log->hashPassword(filter_input(INPUT_POST,$_POST['pass'],FILTER_SANITIZE_STRING)); 
    $query = $acces->authQuery($mail,$pass);
    $req = $connect->prepare($query);
    $req->execute();
    $result = $req->fetch();
    if(!$result == 1) {
    	header('Location: index.php?info=Error');
    	exit();
    } else {
    	header('Location: page1.php?conn=Ok');
    }
    $query est une requêtes SELECT COUNT(*) avec la clause WHERE qui filtre sur le mail et le mot de passe (testée et effective dans PHPMyAdmin).
    J'ai également essayé de ne pas préparer ma requête mais toujours le même soucis. Pour moi le soucis vient de la condition car je passe systématiquement dans la première condition,mais je bloque...
    Si une âme charitable vient bien me donner un coup de main ce serait vraiment sympa.

  2. #2
    Membre expérimenté Avatar de nathieb
    Homme Profil pro
    DevOps
    Inscrit en
    Mai 2004
    Messages
    1 058
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : DevOps
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 058
    Points : 1 532
    Points
    1 532
    Par défaut Galère
    Bonjour,

    Quand on galère sur ce type de pb, on met en place un système de debug, de logs ou dans le pire des cas un simple echo ... avec un die dans les boucles pour savoir ou il passe !

    Il existe en PHP, firePHP avec firebug pour effectuer d'élégants debug
    J'oubliais regarde ce que ramène le fecth ??

    Olivier
    Architecte destructurant,
    be cool, be free

    Il nous reste Debian bien sûr

  3. #3
    Membre du Club
    Homme Profil pro
    Développeur frontend
    Inscrit en
    Octobre 2013
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur frontend

    Informations forums :
    Inscription : Octobre 2013
    Messages : 75
    Points : 56
    Points
    56
    Par défaut
    Merci pour l'info, je l'installe illico; si quelqu'un voit une erreur flagrante, je prends aussi

  4. #4
    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
    fetch ne retourne pas 1.
    Il retourne des tableaux, des objets, TRUE, FALSE ... mais pas 1.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 380
    Points : 10 410
    Points
    10 410
    Par défaut
    Oui avec fetch il faudra spécifier un index à récupérer.

    Si tu n'as qu'un champ à récupérer tu peux essayer fetchColumn(), qui si on ne renseigne pas de paramètre d'index, récupère la première colonne correspondant à l'index 0.
    Et donc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $result = $req->fetchColumn();
    pourrait suffire sans changer le reste de ton code (à supposer qu'il n'y ait pas d'erreur ailleurs).

  6. #6
    Membre du Club
    Homme Profil pro
    Développeur frontend
    Inscrit en
    Octobre 2013
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur frontend

    Informations forums :
    Inscription : Octobre 2013
    Messages : 75
    Points : 56
    Points
    56
    Par défaut
    Merci beaucoup pour vos réponses, je viens d'essayer le "fetchColumn()" mais il semble que ce ne soit pas le seul problème, je vais explorer d'autres pistes, notamment en changeant ma requête SQL afin qu'elle soit plus explicite.
    Encore merci

  7. #7
    Membre du Club
    Homme Profil pro
    Développeur frontend
    Inscrit en
    Octobre 2013
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur frontend

    Informations forums :
    Inscription : Octobre 2013
    Messages : 75
    Points : 56
    Points
    56
    Par défaut
    En fait, le soucis vient de ma méthode de hashage qui pose problème. Merci à vous pour vos informations

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

Discussions similaires

  1. [68HC11] Blocage sur une boucle
    Par paterson dans le forum Autres architectures
    Réponses: 3
    Dernier message: 10/11/2006, 20h45
  2. blocage sur une méthode synchronized
    Par rockelite dans le forum Général Java
    Réponses: 3
    Dernier message: 03/05/2006, 22h28
  3. Blocage sur récursivité de base
    Par gilles641 dans le forum Algorithmes et structures de données
    Réponses: 1
    Dernier message: 07/04/2006, 13h42
  4. blocage sur Left
    Par TSS dans le forum Access
    Réponses: 5
    Dernier message: 10/03/2006, 12h33
  5. [10g1][OCI][C++][IIS] Blocage sur un update
    Par Herode dans le forum Interfaces de programmation
    Réponses: 2
    Dernier message: 21/02/2006, 09h32

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