[RESOLU] Erreur sur une fonction de vérification de donnée entrée pour un formulaire d'authentification.

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Erreur sur une fonction de vérification de donnée entrée pour un formulaire d'authentification.

Re: Erreur sur une fonction de vérification de donnée entrée pour un formulaire d'authentification.

par Ryle » 06 janv. 2021, 15:16

Salutations !

Si ta table en base de données s'appelle users_offices, est-ce normal que dans ta requête tu tentes de compter les enregistrements de users_partners ? :)

PDO n'est pas pratique pour debugger, il faut activer et chercher dans le log de MySQL pour voir s'il y a des erreurs sur la requête exécutée... tu peux cependant essayer de reconstruire la requête avec ses paramètres et faire un echo pour voir le résultat et pouvoir le tester dans phpmyadmin ou équivalent ...

Re: Erreur sur une fonction de vérification de donnée entrée pour un formulaire d'authentification.

par emirbDev » 29 déc. 2020, 23:32

Peut etre que la requette Sql est mal ecrite,
voilà le code que j'ai maintenant :
function verification_Office($user, $pwd) {
    $compteOfficeExistant = false;
    $pdo = Connexion();
    if ($pdo != null) {
        $sql = "SELECT count(*) as nb FROM users_partners". " WHERE nimm=:nimm AND passwords=:pwd";
        $prep = $pdo->prepare($sql);
        $prep->bindParam(':nimm', $user, PDO::PARAM_STR);
        $prep->bindParam(':pwd', $pwd, PDO::PARAM_STR);
        $prep->execute();
    $resultat = $prep->fetch();
        if ($resultat["nb"] == 1) {
    $compteOfficeExistant = true;
    }
        $prep->closeCursor();
    }
    return $compteOfficeExistant;
    }
ma base de donnée est une table qui s'appel users_offices avec |id|nimm|passwords|

Re: Erreur sur une fonction de vérification de donnée entrée pour un formulaire d'authentification.

par or 1 » 29 déc. 2020, 21:30

il faut debuguer, mettre des echo un peu partout. cela rentre bien dans la fonction ? cela passe bien le if ? les valeurs des variables sont correctes ...

Re: Erreur sur une fonction de vérification de donnée entrée pour un formulaire d'authentification.

par emirbDev » 29 déc. 2020, 21:26

J'avais mi ça
$sql = "SELECT count(*) as nb FROM users_partners". " WHERE nimm=:nimm AND passwords=:passwords";
mais sa marche toujours pas.

Re: Erreur sur une fonction de vérification de donnée entrée pour un formulaire d'authentification.

par or 1 » 29 déc. 2020, 21:19

$sql = "SELECT nimm, passwords as nb FROM users_offices";
soit une requête sans paramètre.

$prep->bindParam(':nimm', $user, PDO::PARAM_STR);
pas de paramètre mais on lie quand même un paramètre.

Erreur sur une fonction de vérification de donnée entrée pour un formulaire d'authentification.

par emirbDev » 29 déc. 2020, 21:15

Bonjour à la teamPHPFrance,
Je suis confronté à un problème d'authentification, et je n'arrive pas à voir ou est l'erreur sur mon code:

Dans un premier temps, j'ai une page login.html:
<form class="user" method="post" action="connexionOffice.php">
    <div class="form-group">
        <input type="text" class="form-control form-control-user"
           id="nimm" name="nimm"
            placeholder="Entrer votre NIMM (numero d'immatriculation)" required>
    </div>
    <div class="form-group">
        <input type="passwords" class="form-control form-control-user"
           id="passwords" name="passwords" placeholder="Mots de passe" required>
    </div>
    <input class="btn btn-primary btn-user btn-block" type="submit"  value='Se connecter'>
    <hr>
</form>
Je renvoi par la requette POST les donnée de nimm et password à la page connexionOffice, qui contient ce bou de code.
<?php
session_start();
include_once 'function.php';
$nimm = $_POST["nimm"];
$passwords = $_POST["passwords"];
if (verification_Office($nimm, $passwords)) {
        header("Location: adminOffice.php");    
} 
else {
    header("Location: loginOffice.php");
}
La page fonction contient la connexion à la basse de donnée connexion(), et une function de verification, c'est là ou je bloque, je n'arrive pas a voir mes erreur sur cette fonction que j'ai crée.
function verification_Office($user, $pwd) {
    $compteExistant = false;
    $pdo = Connexion();
    if ($pdo != null) {
        $sql = "SELECT nimm, passwords as nb FROM users_offices";
        $prep = $pdo->prepare($sql);
        $prep->bindParam(':nimm', $user, PDO::PARAM_STR);
    $prep->bindParam(':passwords', $pwd, PDO::PARAM_STR);
        $prep->execute();
    $resultat = $prep->fetch();
        if ($resultat["nb"] == 1) {
    $compteExistant = true;
    }
        $prep->closeCursor();
    }
    return $compteExistant;
    }