Problème de récupération
Résolu/Fermé
flo39400
Messages postés
596
Date d'inscription
mardi 8 avril 2008
Statut
Membre
Dernière intervention
9 septembre 2021
-
23 oct. 2016 à 15:16
jordane45 Messages postés 38301 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 22 novembre 2024 - 13 nov. 2016 à 23:42
jordane45 Messages postés 38301 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 22 novembre 2024 - 13 nov. 2016 à 23:42
A voir également:
- Problème de récupération
- Convertisseur récupération de texte - Guide
- Impossible de récupérer mon compte gmail - Guide
- Recuperation video youtube - Guide
- Récupération message whatsapp - Guide
- Recuperation de données - Guide
2 réponses
jordane45
Messages postés
38301
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
22 novembre 2024
4 705
23 oct. 2016 à 16:25
23 oct. 2016 à 16:25
Bonjour,
Comme je te l'avais déjà conseillé .. il est préférable de placer la requête et les données dans des variables à part .... cela permet, par exemple, d'en faire des ECHO pour savoir ce qu'elles contiennent réellement...
Donc ton code devient :
Comme je te l'avais déjà conseillé .. il est préférable de placer la requête et les données dans des variables à part .... cela permet, par exemple, d'en faire des ECHO pour savoir ce qu'elles contiennent réellement...
Donc ton code devient :
$sql = "SELECT * FROM membres WHERE pseudo = :pseudoconnect AND motdepasse = :mdpconnect"; $datas = array(":pseudoconnect"=>$pseudoconnect,":mdpconnect"=> $mdpconnect) try{ $prepare = $bdd->prepare($prep_requser); $prepare->execute($datas); $arr_Resultat = $prepare->fetchAll(); }catch(Exception $e){ echo "Erreur :".$e->getMessage(); } //si la requete a retourné un résultat et que count retourne 1 ou plus.. $userexist = !empty($arr_Resultat) && count($arr_Resultat)>0 ? true : false; //---------------------------- //le temps des tests : //---------------------------- echo "<pre>La requete est : ".$sql."</pre>"; echo "Les datas sont :<br><pre>"; print_r($datas); echo "</pre>"; //---------------------------- if($userexist){ echo "l'utilisateur existe"; }else{ echo "l'utilisateur n'existe pas"; }
flo39400
Messages postés
596
Date d'inscription
mardi 8 avril 2008
Statut
Membre
Dernière intervention
9 septembre 2021
21
29 oct. 2016 à 23:45
29 oct. 2016 à 23:45
J'avance mais je suis tombé sur une autre erreur, vraiment je comprend pas dès que la solution est trouvé sa marche pas quand même....
Code erreur:
1 Notice: Undefined variable: requser in
2 Fatal error: Call to a member function fetch() on null in
ligne 80 au niveau du fetch (
if(isset($_POST['formconnexion'])) { $pseudoconnect = htmlspecialchars($_POST['pseudoconnect']); $mdpconnect = sha1($_POST['mdpconnect']); if(!empty($pseudoconnect) AND !empty($mdpconnect)) { $prep_requser = "SELECT * FROM membres WHERE pseudo = :pseudoconnect AND motdepasse = :mdpconnect"; $datas = array(":pseudoconnect"=>$pseudoconnect,":mdpconnect"=> $mdpconnect); try{ $prepare = $bdd->prepare($prep_requser); $prepare->execute($datas); $arr_Resultat = $prepare->fetchAll(); }catch(Exception $e){ echo "Erreur :".$e->getMessage(); } //si la requete a retourné un résultat et que count retourne 1 ou plus.. $userexist = !empty($arr_Resultat) && count($arr_Resultat)>0 ? true : false; if($userexist) { $prep_insertip = "UPDATE membres SET adresse_ip = ? WHERE id = ?"; try{ $insertip = $bdd->prepare($prep_insertip); $insertip->execute(array($_SERVER['REMOTE_ADDR'], $_SESSION['id'])); }catch(Exception $e){ echo "Erreur :".$e->getMessage(); } $insertip = $bdd->prepare("UPDATE membres SET adresse_ip = ? WHERE id = ?"); $insertip->execute(array($_SERVER['REMOTE_ADDR'], $_SESSION['id'])); if(isset($_POST['rememberme'])) { setcookie('pseudo',$pseudoconnect,time()+5*60,null,null,false,true); setcookie('password',$mdpconnect,time()+5*60,null,null,false,true); } $userinfo = $requser->fetch(); $_SESSION['id'] = $userinfo['id']; $_SESSION['pseudo'] = $userinfo['pseudo']; $_SESSION['mail'] = $userinfo['mail']; $_SESSION['rang'] = $userinfo['rang']; $_SESSION['avatar'] = $userinfo['avatar']; header("Location: index.php?id=".$_SESSION['id']); } else { $erreur = "Mauvais pseudo ou mot de passe !"; } } else { $erreur = "Tous les champs doivent être complétés !"; } }
Code erreur:
1 Notice: Undefined variable: requser in
2 Fatal error: Call to a member function fetch() on null in
ligne 80 au niveau du fetch (
$userinfo = $requser->fetch();)
flo39400
Messages postés
596
Date d'inscription
mardi 8 avril 2008
Statut
Membre
Dernière intervention
9 septembre 2021
21
13 nov. 2016 à 22:29
13 nov. 2016 à 22:29
Bon je vais pas y modifier je verrais sa plus tard...
jordane45
Messages postés
38301
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
22 novembre 2024
4 705
13 nov. 2016 à 23:42
13 nov. 2016 à 23:42
La variable $requser n'est plus utilisée.
A la place... toutes les données de l'utilisateurs sont déjà présentes (grâce au fetchAll) dans un array
fais donc un print_r($arr_Resultat) et regarde ce qu'il contient.... tout y est !
A la place... toutes les données de l'utilisateurs sont déjà présentes (grâce au fetchAll) dans un array
$arr_Resultat = $prepare->fetchAll();
fais donc un print_r($arr_Resultat) et regarde ce qu'il contient.... tout y est !
Modifié par flo39400 le 29/10/2016 à 19:20
code erreur: Parse error: syntax error, unexpected 'try' (T_TRY)
29 oct. 2016 à 21:53
29 oct. 2016 à 22:57
Donc le code erreur: Notice: Undefined variable: prep_requser
Puis le reste:
Erreur :SQLSTATE[42000]: Syntax error or access violation: 1065 Query est vide
La requete est : SELECT * FROM membres WHERE pseudo = :pseudoconnect AND motdepasse = :mdpconnect
Les datas sont :
Array
(
[:pseudoconnect] => DieuTopGun
[:mdpconnect] => 10eec3f9771022d3aacc8bbda28be42548a6a022
)
l'utilisateur n'existe pas
Pourtant sais l’utilisateur excite vraiment donc voila....
29 oct. 2016 à 23:16
Modifié par flo39400 le 29/10/2016 à 23:19
Adresse de destination http://localhost/2017/profil.php?id=
Normalement l'id utilisateur est récupérer, la non... pourtant pas de message d'erreur...