Problème lié à une réquête mysql
Résolu
modemo2018
Messages postés
226
Date d'inscription
Statut
Membre
Dernière intervention
-
modemo2018 Messages postés 226 Date d'inscription Statut Membre Dernière intervention -
modemo2018 Messages postés 226 Date d'inscription Statut Membre Dernière intervention -
A voir également:
- Problème lié à une réquête mysql
- Mysql community server - Télécharger - Bases de données
- Mysql a répondu : documentation connexion impossible : paramètres incorrects. - Forum Bases de données
- Requete sql pix - Forum PHP
- Mysql error 2002 ✓ - Forum Linux / Unix
- Erreur lors de l'envoi de la requête facebook - Forum Facebook
9 réponses
Bonjour
Tu as un message d'erreur ?
Vérifie également la ligne 4 de ton premier code ça me semble faux
Tu as un message d'erreur ?
Vérifie également la ligne 4 de ton premier code ça me semble faux
modemo2018
Messages postés
226
Date d'inscription
Statut
Membre
Dernière intervention
2
C'est une erreur lors de la copie du code, j'ai corrigé ça, c'est normalement
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour, il est recommandé de ne pas utiliser plusieurs fois le même id, ("fullname") dans une page.
dans ce cas-ci, tu peux sans doute supprimer les id.
as-tu ajouté des echo pour vérifier tes variables et quelle partie du code est exécutée?
pourquoi n'utilises-tu pas la variable $password1?
dans ce cas-ci, tu peux sans doute supprimer les id.
as-tu ajouté des echo pour vérifier tes variables et quelle partie du code est exécutée?
pourquoi n'utilises-tu pas la variable $password1?
Le mot de passe est haché lorsqu'il est enregistré voilà pourquoi j'utilise le nom.
Enlevé les id n'affecte pas trop l'éxécution du code car dans les autres pages ayant presque le même code, je ne rencontre pas ce problème, juste sur cette page
Enlevé les id n'affecte pas trop l'éxécution du code car dans les autres pages ayant presque le même code, je ne rencontre pas ce problème, juste sur cette page
Il y a plusieurs choses qui m'ennuient dans ton code
1 - Je ne vois pas la connexion à la bdd ni de require vers un fichier de connexion;
De ce fait, la variable $bdd n'existe pas...
2 - Tu n'as pas, visiblement, activé l'affichage des erreurs PHP .... normal que tu vois pas d'erreurs dans ce cas;
Donc :
Commence par appliquer ceci :
https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
Puis, au cas où, ça également :
https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
Reviens nous montrer le code corrigé si ton souci persiste et fais nous un print_r de ta variable $_POST
1 - Je ne vois pas la connexion à la bdd ni de require vers un fichier de connexion;
De ce fait, la variable $bdd n'existe pas...
2 - Tu n'as pas, visiblement, activé l'affichage des erreurs PHP .... normal que tu vois pas d'erreurs dans ce cas;
Donc :
Commence par appliquer ceci :
https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
Puis, au cas où, ça également :
https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
Reviens nous montrer le code corrigé si ton souci persiste et fais nous un print_r de ta variable $_POST
Le print_r affiche bel et bien le nom saisi au clavier mais il n'éxécute toujours pas la requête, voici le code ecris
<?php
$password1 = !empty ( $_POST['pass'] ) ? $_POST['pass'] : NULL;
$nom1 = !empty ( $_POST['nom'] ) ? $_POST['nom'] : NULL;
if($nom1 !=''){
//On recupere le mot de passe de lutilisateur
print_r($nom1);
try
{
$req = $bdd->prepare('SELECT * FROM enseignant WHERE nom = ?');
$req->execute(array($nom1));
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
$donnees = $req->fetch();
?>
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Si la connexion à la BDD ainsi que l'affichage des erreurs sont au haut de ma page, voici le code
<?php
//début de ton fichier php .... ça veut dire .. DEBUT !!!:
error_reporting ( E_ALL );
ini_set ( 'display_errors', TRUE );
ini_set ( 'display_startup_errors', TRUE );
include("connexion.php");
?>
ça n'affiche rien dis tu ...
Mais... où as tu mis le code pour afficher justement ?
Et puis quand tu dis que ça n'affiche rien.. c'est à dire .. page blanche ou juste pas les données que tu cherches ???
A tout hasard, merci de tester ceci :
Peux tu également nous montrer ce que donne ta requête lorsque tu la testes directement dans ta bdd ?
Mais... où as tu mis le code pour afficher justement ?
Et puis quand tu dis que ça n'affiche rien.. c'est à dire .. page blanche ou juste pas les données que tu cherches ???
A tout hasard, merci de tester ceci :
<?php
$password1 = !empty ( $_POST['pass'] ) ? $_POST['pass'] : NULL;
$nom1 = !empty ( $_POST['nom'] ) ? $_POST['nom'] : NULL;
if($nom1){
try {
$req = $bdd->prepare('SELECT * FROM enseignant WHERE nom = ?');
$req->execute(array($nom1));
$donnees = $req->fetch();
print_r($donnees); // le temps des tests !
exit; // le temps des tests !
} catch(Exception $e) {
die('Erreur : '.$e->getMessage());
}
}else{
echo "La variable nom1 ne contient rien !";
print_r($_POST); // le temps des tests !
exit:
}
?>
Peux tu également nous montrer ce que donne ta requête lorsque tu la testes directement dans ta bdd ?
voilà ce que ça donne, je pense que j'ai cquand même avancé car avant il me signalais rien, difficile de savoir qu'est ce qui ne marchais pas
SVP Une erreur pareille à quoi peut-elle être dû?
" Array ( [nom] => madzou [prenom] => nestor [pass] => $2y$10$2.OPVSmTgiAgAhiEY1b3p.hhxO1jcfDfc7NHwjUCsYCPjWYl6TmQK [class] => CM2 [matiere] => Primaire [cycle] => PRIMAIRE [serie] => Pas de serie [iduser] => 1 [id] => 1 )"
SVP Une erreur pareille à quoi peut-elle être dû?
" Array ( [nom] => madzou [prenom] => nestor [pass] => $2y$10$2.OPVSmTgiAgAhiEY1b3p.hhxO1jcfDfc7NHwjUCsYCPjWYl6TmQK [class] => CM2 [matiere] => Primaire [cycle] => PRIMAIRE [serie] => Pas de serie [iduser] => 1 [id] => 1 )"
Quand j'execute voilà ce le message qui s'affiche:
" Array ( [nom] => madzou [prenom] => nestor [pass] => $2y$10$2.OPVSmTgiAgAhiEY1b3p.hhxO1jcfDfc7NHwjUCsYCPjWYl6TmQK [class] => CM2 [matiere] => Primaire [cycle] => PRIMAIRE [serie] => Pas de serie [iduser] => 1 [id] => 1 )"
normalement, après exécution de la requête, il fait une comparaison des mots de passe puis me redige vers une autre page, mais aulieu de ça il m'affiche le message ci-dessus
SVP Une erreur pareille à quoi peut-elle être dû?
Voici le code au grand complet:
" Array ( [nom] => madzou [prenom] => nestor [pass] => $2y$10$2.OPVSmTgiAgAhiEY1b3p.hhxO1jcfDfc7NHwjUCsYCPjWYl6TmQK [class] => CM2 [matiere] => Primaire [cycle] => PRIMAIRE [serie] => Pas de serie [iduser] => 1 [id] => 1 )"
normalement, après exécution de la requête, il fait une comparaison des mots de passe puis me redige vers une autre page, mais aulieu de ça il m'affiche le message ci-dessus
SVP Une erreur pareille à quoi peut-elle être dû?
Voici le code au grand complet:
<?php
$password1 = !empty ( $_POST['pass'] ) ? $_POST['pass'] : NULL;
$nom1 = !empty ( $_POST['nom'] ) ? $_POST['nom'] : NULL;
if($nom1){
try {
$req = $bdd->prepare('SELECT * FROM enseignant WHERE nom = ?');
$req->execute(array($nom1));
$donnees = $req->fetch();
print_r($donnees); // le temps des tests !
exit; // le temps des tests !
} catch(Exception $e) {
die('Erreur : '.$e->getMessage());
}
setlocale(LC_TIME, "fr_FR");
$date = date('l jS \of F Y h:i:s A');
$isPasswordCorrect = password_verify($_POST['pass'], $donnees['pass']);
if($isPasswordCorrect){
//Si le mot de passe es bon, on ne vas pas afficher le formulaire
try
{
$sql = 'INSERT INTO controle(profnom, heure1, id, iduser)VALUES(:profnom, :heure1, :id, :iduser)';
$datas = array(':profnom' => $nom1, ':heure1' => $date, ':id' => $donnees['id'], ':iduser' => $donnees['iduser']);
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
session_start();
$_SESSION['nom'] = $_POST['nom'];
$_SESSION['iduser'] = $donnees['iduser'];
header('Location:enseignant.php');
}
}
?>
