problèmes de session

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 : problèmes de session

Re: problèmes de session

par bostak » 14 mars 2012, 18:22

je m'explique

voici mon code en gros

j'ai un index.php qui est enfaite un dispatcheur si il récupère un $_GET['action'] il envoie au controller file.php

et mon session_start est la première ligne de code de mon index.php donc sa devrait le faire non ?

ensuite les echos que j'ai mis la c'est juste pour savoir dans qu'elle condition je suis, sinon j'inclue des templates donc c'est bien de la vue, donc je peux les laisser dans une vue ?

Cordialement,

Re: problèmes de session

par xTG » 14 mars 2012, 18:19

session_start() doit être la première chose envoyé au navigateur.
Et il doit obligatoirement être présent si tu souhaites utiliser les sessions.
Donc ton problème est bien un oubli de session_start() sur la page concernée.
Sachant que les sessions sont censées être manipulées dans le contrôleur il convient de la démarrer avant son instanciation.

PS : pour ton "est-ce que j'ai le droit" je répondrai "cela dépend"...
Car tu ne dis pas si ce code provient d'un modèle, d'un contrôleur ou d'une vue. ;)
En soit vu qu'il y a un echo ce code ne peut être qu'un code de vue et est tout à fait correct ainsi.

Re: problèmes de session

par bostak » 14 mars 2012, 17:45

j'ai fais des test et enfaite mon $_SESSION["login"] n'existe pas sur toutes les pages ! et sa c'est plutôt un problème

et ce que dans une struture MVC, j'ai le droit d'avoir ceci :

Code : Tout sélectionner

include 'templates/menu.php'; echo $_SESSION["login"]; if(isset($_SESSION["login"])) { include 'templates/listdir.php'; echo "toto"; } else { include 'templates/horsligne.php'; echo "kikoo"; }
dans une vue ?

Re: problèmes de session

par bostak » 14 mars 2012, 17:03

j'ai bien un session_destroy mais qui est appart pour se déconnecter, j'ai bien un session_start qui est sur ma page index.php mais qui n'est pas dans la page de mon controller (je code en mvc) mais je pense que sa devrait passer quand même non ?

Re: problèmes de session

par xTG » 14 mars 2012, 17:00

C'est forcement que tu effaces la variable de session avant cette condition.
Un session_destroy() qui se balade ?
Un session_start() oublié sur la page en question ?

problèmes de session

par bostak » 14 mars 2012, 16:10

Bonjour tout le monde,

j'ai un module de connexion comme ceci :

Code : Tout sélectionner

if(isset($_POST['login']) && isset($_POST['pass'])) { if(verifUser($_POST["login"], ($_POST["pass"]))) { $_SESSION["login"] = $_POST["login"]; $_SESSION["pass"] = $_POST["pass"]; } else { $connexionError = putError("pseudo ou mot de passe incorrect"); } }
je crée donc ceci :

$_SESSION["login"] = $_POST["login"];
$_SESSION["pass"] = $_POST["pass"];

j'ai fais un var_dump de $_SESSION il contient bien les informations mais le soucis c'est que ensuite je fais ceci :

Code : Tout sélectionner

if(isset($_SESSION['login'])) { include 'templates/listdir.php'; } else on fait un autre truc
et je ne tombe jamais dans la première condition alors que le $_SESSION['login'] existe bien, j'ai fais un echo et c'est certains que je ne rentre jamais dans la première condition je suis toujours dans le else.

je ne vois pas pourquoi, auriez vous des suggestions ?

Cordialement,