Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
912 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] Session en objet ??

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP] Session en objet ??

n°1227875
manuuu
Posté le 21-10-2005 à 11:58:16  profilanswer
 

Hello tout le monde,
 
Je viens de recuperer un script que je dois "reparer". J'ai déjà avancé sur pas mal de point mais là je bloque un peu sur un element :
 
Le type qui a développé le systeme appellait les sessions comme cela :
 

Code :
  1. $_SESSION['nom_session']->IsLogged


 
J'ai installé le script sur un nouveau server et ça ne fonctionne plus :(
Ai*je oublié un element dans php.ini ?
 
 
Merci !

mood
Publicité
Posté le 21-10-2005 à 11:58:16  profilanswer
 

n°1227881
art_dupond
je suis neuneu... oui oui !!
Posté le 21-10-2005 à 12:07:37  profilanswer
 

tu as la définition de la classe ?
comment est initialisé $_SESSION['nom_session'] ?


---------------
oui oui
n°1227889
Oreste
Posté le 21-10-2005 à 12:12:36  profilanswer
 

Ca me parait bien bizarre cet appel !
 
Il faudrait le message d erreur généré, et le reste du code du script pour voir les instanciasion de classe...

n°1227903
manuuu
Posté le 21-10-2005 à 12:16:50  profilanswer
 

je vous explique :  
index.html ==>  
- inclut un fichier qui fait un $_SESSION['session']=new objet;
- verifie si la personne est loggé via  
if($_SESSION["session"]->check_login($_POST["login"], $_POST["password"]))
 
si c'est bon ça inclut un main.html. Il le fait et paf ya l'appli
 
dès que je clique sur un bouton, c'est foutu, il me remet à l'ecran de login, il perd tout. Je me demande si c'est pas un soucis de configuration PHP

n°1227914
manuuu
Posté le 21-10-2005 à 12:20:45  profilanswer
 

est ce que le module "no-debug-non-zts-20020429" dit quelque chose à quelqu'un ?
 
Merci :)

n°1227916
Oreste
Posté le 21-10-2005 à 12:22:20  profilanswer
 

hmmm t as bien des session_start() au debut de tout tes script php ?

n°1227919
manuuu
Posté le 21-10-2005 à 12:25:44  profilanswer
 

oui oui, un print_r($_SESSION['nom_session']) m'affiche tout
un print_r($_SESSION['nom_session']) affiche : object

n°1227920
shakpana
des fois, j'me demande ...
Posté le 21-10-2005 à 12:27:13  profilanswer
 

> hmmm t as bien des session_start()
+1
 
et rencardes toi sur is_a() / is_object(), vérifies que ta session est valide
enfin du contrôle d'erreur, quoi !
et pendant que tu dev. fais le en E_ALL
 
if($check) include('main.html');
bah c'est bien secure ça, dis-moi ...
 
edit : un peu grilled ...


Message édité par shakpana le 21-10-2005 à 12:27:51
n°1227923
omega2
Posté le 21-10-2005 à 12:28:56  profilanswer
 

20020429 ca me dit quelque chôse, c'est une date au format YYYYMMDD
 
Pour zts, je suis tombé sur "Zend Thread Safety", cherche de se côté, mais visiblement, c'est un module expérimental. Au vu de la date de la version que t'utilise, il doit en exister des versions plus récente mais ca pourait de provoquer des imcompatibilités alors faut te renseigner avant de choisr une version ou une autre.

n°1227925
titione
addicted
Posté le 21-10-2005 à 12:29:22  profilanswer
 

la déclaration des classes doit se faire avant le session_start()...

mood
Publicité
Posté le 21-10-2005 à 12:29:22  profilanswer
 

n°1227927
Oreste
Posté le 21-10-2005 à 12:30:18  profilanswer
 

Ca sent l'usine a gaz comme application :d

n°1227929
manuuu
Posté le 21-10-2005 à 12:31:23  profilanswer
 

ma session est valide, mais on dirait que l'objet est mal reconstruit. un truc un peu bizarre
 
pour repeter : print_r($_SESSION) me renvoie is object
print_r($_SESSION['nom']) me renvoie toute les infos :)
 
par contre echo $_SESSION['nom']->IsLogged = 1
et il considere que ça c'est valide et rentre dans la condition :(
if(!$_SESSION['session']->IsLogged){
      session_unregister("session" );
      header("Location: " . HTTP_SERVER . HTTP_DOCROOT . "index.html" );  
      exit();
}

n°1227930
manuuu
Posté le 21-10-2005 à 12:31:36  profilanswer
 

Oreste a écrit :

Ca sent l'usine a gaz comme application :d


 
oui c'est n'importe quoi

n°1227935
manuuu
Posté le 21-10-2005 à 12:35:26  profilanswer
 

Quand je met en commentaire la verification du login :  
 
Fatal error: Only variables can be passed by reference in /home/site/public_html/demo/main.html on line 23

n°1227945
shakpana
des fois, j'me demande ...
Posté le 21-10-2005 à 12:41:48  profilanswer
 

> $_SESSION['nom']->IsLogged
> $_SESSION['session']->IsLogged
erreur de copiage / collage ?
 
> Fatal error: Only variables can be passed by reference in /home/site/public_html/demo/main.html on line 23
ah, ok je comprends mieux le check/include, donc ton .html contient du PHP ...
mais c'est bien louche comme vérif de login tout ça.
là du coup doit y avoir une variable manquante, dans l'genre ...

n°1227956
manuuu
Posté le 21-10-2005 à 12:51:46  profilanswer
 

shakpana a écrit :

> $_SESSION['nom']->IsLogged
> $_SESSION['session']->IsLogged
erreur de copiage / collage ?


 
non juste moi qui change à chaque fois le nom pour que ça soit clair, mais ça ne l'est pas :D
 

shakpana a écrit :


> Fatal error: Only variables can be passed by reference in /home/site/public_html/demo/main.html on line 23
ah, ok je comprends mieux le check/include, donc ton .html contient du PHP ...
mais c'est bien louche comme vérif de login tout ça.
là du coup doit y avoir une variable manquante, dans l'genre ...


 
en fait les fichiers sont nommés html mais on a fait les modifes pour que les .html soient considérés comme php. Mais en fait ça marchait tres bien sur l'ancien serveur :(

n°1227963
shakpana
des fois, j'me demande ...
Posté le 21-10-2005 à 13:04:11  profilanswer
 

Petite récap :
 
1. pas loggué, tu vois la page pour les users non-loggués
2. login initial fonctionne bien, tu te loggues, tu vois ce que tu dois voir
3. là tu clickes sur n'importe quel lien où tu devrais continuer le process une fois loggué et tu retournes à l'étape 1
 
c'est bien ça ?
 
donc la question que je me pose est, où sont stockés/ou-pas le user/pass
et ce que le pb ne serait pas là ...  
et si ils ne sont pas stockés, l'objet serait-il pas recréer avec les valeurs $_POST
bref poses des points de debug, passke là ...

n°1227967
manuuu
Posté le 21-10-2005 à 13:10:02  profilanswer
 

1. oui
2. oui
3. oui  
 
je vais essayer de foutre des $_POST[login ... à la main pour voir
 
là ça fait 1h que je compare les php.ini entre les deux serveurs

n°1227969
manuuu
Posté le 21-10-2005 à 13:12:44  profilanswer
 

bon ben les variables $_POST ne changent rien, je comprends pas, ya un probleme de fond là, je suis certain que ça doit être un module ou un probleme de conf

n°1227999
manuuu
Posté le 21-10-2005 à 13:34:01  profilanswer
 

bon voilà un truc simple qui prouve que c un probleme de config :  
sur le serveur où ça fonctionne, je fais un refresh apres m'être loggé, pas de soucis
sur le nouveau server j'ai : Fatal error: Unknown(): The script tried to execute a method or access a property of an incomplete object. Please ensure that the class definition <b>phty</b> of the object you are trying to operate on was loaded _before_ the session was started in /home/hubtoyou/public_html/demo/index.html on line 4

n°1228002
titione
addicted
Posté le 21-10-2005 à 13:35:51  profilanswer
 

je vais répéter encore ce que j'ai dit et qui a l'air confirmé par ce que tu viens d'ajouter :  
 
la déclaration des classes doit se faire avant le session_start()...
 
en gros le include() de ton fichier où tu déclares les classes, notamment celle passée en session doit avoir lieu avant le session_start()...


Message édité par titione le 21-10-2005 à 13:36:02
n°1228004
manuuu
Posté le 21-10-2005 à 13:38:01  profilanswer
 

voilà c'était ça
alors je resume si qq'un a le même type de soucis  
1/ comparer les deux phpinfo() pour être sur qu'il n'y a pas de difference
2/ ce qu'a dit titione
 
Merci à tous !

n°1228006
Oreste
Posté le 21-10-2005 à 13:38:32  profilanswer
 

copie le php.ini de l ancien serveur sur le nouveau juste pour tester

n°1228010
manuuu
Posté le 21-10-2005 à 13:41:06  profilanswer
 

Oreste a écrit :

copie le php.ini de l ancien serveur sur le nouveau juste pour tester


 
j'ai préféré faire param par param à la main

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] Session en objet ??

 

Sujets relatifs
[PHP] Connexion base de donnéesPHP XML
Créer une variable de session en cliquant sur un lienPHP Passer de la version php4.0.6 à PHP 4.3.8
Z-index et objet flash [Résolu]PHP Exécution de frame en séquentiel
Ou trouver des tutoriaux sur le PHPEst-il possible de developper en PHP sur PDA/PPC ?
PHP MySql, bases de données etc - comment faire ???[Php + Sendmail] Destinataire sans nom de domaine
Plus de sujets relatifs à : [PHP] Session en objet ??


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR