Ben faut le dire, nous on ne peut pas deviner. Donc si c'est dans le else, c'est normal que ton var_dump() dans le if n'affiche rien.
Ben faut le dire, nous on ne peut pas deviner. Donc si c'est dans le else, c'est normal que ton var_dump() dans le if n'affiche rien.
Au lieu de t’embêter pour ton debug, si tu veux voir une variable a un moment précis tu mets un die; juste après comme ça le script s’arrête.
Marcuscircus : La seule différence entre un rêve et sa réalisation, c'est l'envie
Oui pardon ..
Bah j'ai fais ça regardez :
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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44 if (isset($_POST['connexion']) && $_POST['connexion'] == 'Connexion') { if(!empty($_POST['pass']) && !empty($_SESSION['technicien'])) { if (isset ($_POST['pass'])) { $_SESSION['pass']=$_POST['pass'] ; $pass=$_SESSION['pass']; } $nomPassReq = new Technicien() ; $resultPass = $nomPassReq->getNomPass() ; // si on obtient une réponse, alors l'utilisateur est un membre if ($resultPass['nb']==1) { $_SESSION['log_tech'] = 1 ; //header('Location: LCEsa.php'); echo '<pre>'; var_dump($resultPass); echo'1'; echo '</pre>'; } // si on ne trouve aucune réponse, le visiteur s'est trompé dans son mot de passe else { //Envoi du get erreur dans l'url et redirection pour l'afficher et revenir au log $_SESSION['log_tech'] = 0; $erreur=" Le mot de passe est faux"; //header('Location: log_tech.php?erreur=' . urlencode($erreur) ); echo '<pre>'; var_dump($resultPass); echo'2'; echo '</pre>'; } } else { //Envoi du get erreur 2 dans l'url et redirection pour l'afficher et revenir au log $erreur2=" L'un des champs est vide"; //header('Location: log_tech.php?erreur2=' . urlencode($erreur2) ); echo '<pre>'; var_dump($resultPass); echo'3'; echo '</pre>'; } }
Test juste ca...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 if (isset($_POST['connexion']) && $_POST['connexion'] == 'Connexion') { if(!empty($_POST['pass']) && !empty($_SESSION['technicien'])) { if (isset ($_POST['pass'])) { $_SESSION['pass']=$_POST['pass'] ; $pass=$_SESSION['pass']; } $nomPassReq = new Technicien() ; $resultPass = $nomPassReq->getNomPass() ; var_dump($resultPass); die;
et montres nous la valeur que ca affiche.
Edit : Pour information dans ton else de fin tu affiches une variable qui n'existe même pas... Réfléchis avant d’écrire des lignes de code (ou faire des copier/coller)
Marcuscircus : La seule différence entre un rêve et sa réalisation, c'est l'envie
Alors regardes ce qu'il se passe dans getNomPass() => apprends a debugger
Marcuscircus : La seule différence entre un rêve et sa réalisation, c'est l'envie
A par me dire boolean true sur toute les variables presentes de ce code il ne dit rien du tout
Donc $resultats est un boolean et $ligne aussi?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 public function getNomPass (){ $connexion = new ConnexionBDD() ; $resultats=$connexion->query('SELECT count(*) as nb FROM `technicien` WHERE `Nom` = "'.$_SESSION['technicien'].'" AND `pass_md5` = PASSWORD( "'.$_SESSION['pass'].'" )'); // on va chercher tous les tech de la table et comparer le nom du tech avec le mot de passe entré par le user $ligne = $resultats->setFetchMode(PDO::FETCH_OBJ); //On retourne les resultats sous forme d'objets $resultats->closeCursor(); // on ferme le curseur des résultats return $ligne ; }
Marcuscircus : La seule différence entre un rêve et sa réalisation, c'est l'envie
Alors quand je fais le var_dump pour ligne et résultat ans la fonction directement je n'ai aucun affichage juste page plage et quand je le fais exactement au même endroit que resultPass il me retourne un message d'erreur (logique) en disant que la variable n'est pas déclarer et en dessous il y a écrit NULL
Alors c'est que tu ne passes pas dans la fonction ou tu as loggé mais ailleurs...
PS : Coder comme tu veux le faire avec ton niveau c'est un peu comme vouloir écrire un livre quand on ne connait pas l'alphabet ou alors vouloir apprendre les logarithme, exponentielle, matrice, ... quand on ne sait pas faire une addition....
Marcuscircus : La seule différence entre un rêve et sa réalisation, c'est l'envie
J'en suis consciente mais tu dois certainement avoir un job toi aussi non ?
Un patron aussi non ? Et quand ton patron te dis tu fais ca bah ma foi tu le fais du mieux que tu peu certe mais tu le fais ...
Mais je suis consciente de ce que tu dis ..
Certes mais on est aussi passé par ton niveau tu sais. c'est juste que tu brûles un peu les étapes... et c'est comme ça que tu perds le plus de temps.
Faire de la POO c'est une bonne idée. Mais avant de vouloir faire des choses compliquées il faut comprendre la portée des variables et tout les trucs de base.
Marcuscircus : La seule différence entre un rêve et sa réalisation, c'est l'envie
J'aimerai bien avoir le temps de comprendre tout sa mais j'ai pas le temps .. Le temps c'est de l'argent j'te l'apprend pas xD
Je n'ai jamais trouvé de petits exos simples sur la POO toujours des gros bordels avec des BDD etc donc j'me suis dis que tant qu'a faire, attaquer le projet directement hin
J'espere bien que vous êtes tous passé par là j'veux pas être la seule a m'arracher les cheveux hin :p
Bref, un var_dump affiche toujours quelque chose (null dans le pire des cas avec un warning si besoin), donc si tu n'as rien a l’écran c'est que tu ne passes pas ou t'as loggé.
Marcuscircus : La seule différence entre un rêve et sa réalisation, c'est l'envie
Pourtant ce bout de code :
Veut bien dire que j'instancie Technicien, et que dans la variable $resultPass je stocke la valeur de la fonction appliqué a l'objet créé ? Si c'est pas sa effectivement j'arretes tout et j'vais faire des gateaux parce que là c'est grave ..
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 $nomPassReq = new Technicien() ; $resultPass = $nomPassReq->getNomPass() ;
Je veux bien du gâteau moi si tu peux m'amener une part...
Tu affectes le retour de la fonction getNomPass de Technicien à $resultPass.
mets juste unau debut de getNomPass
Code : Sélectionner tout - Visualiser dans une fenêtre à part echo 'plop';die;
Marcuscircus : La seule différence entre un rêve et sa réalisation, c'est l'envie
Sa veut dire que j'ai tout faux ?
OK j'essaie sa
Comment sa au debut ?
Ba du debut ca veut dire au debut
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 public function get...(){ echo 'plop';die; }
Marcuscircus : La seule différence entre un rêve et sa réalisation, c'est l'envie
Oh mon dieu mais pendez moi ...
Ca fonctionne le mot s'affiche ... mais uniquement le mot hin
Normal y'a un die apres, ca arrete l'execution du script.
Marcuscircus : La seule différence entre un rêve et sa réalisation, c'est l'envie
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager