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

  FORUM HardWare.fr
  Programmation
  PHP

  PHP 4.3.0 et les sessions

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

PHP 4.3.0 et les sessions

n°297560
souljacker
Posté le 30-01-2003 à 23:00:33  profilanswer
 

Bonjour,
 
Voila, je viens d'essayer de faire des sessions avec PHP 4.3.0 (1er fois avec cette version, je n'ai jamais eu aucun prob avec les anciennes versions).
 
J'essaie d'utiliser le petit code qui suit:

Code :
  1. <?php
  2. session_start();
  3. if(session_is_registered("h_con" ))
  4. {
  5. $h_con = microtime();
  6. session_register("h_con" );
  7. }
  8. else
  9. {
  10. $diff = microtime() - $_SESSION["h_con"];
  11. echo $diff;
  12. }
  13. ?>


 
Mais ca me retourne l'erreur suivant:

Code :
  1. Warning: Unknown(): Your script possibly relies on a session side-effect which existed until PHP 4.2.3. Please be advised that the session extension does not consider global variables as a source of data, unless register_globals is enabled. You can disable this functionality and this warning by setting session.bug_compat_42 or session.bug_compat_warn to off, respectively. in Unknown on line 0


 
Quelqu'un aurait-il une idée d'où peut venir ce problème? Et comment le résoudre?
 
Merci  :jap:

mood
Publicité
Posté le 30-01-2003 à 23:00:33  profilanswer
 

n°297568
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 30-01-2003 à 23:18:01  profilanswer
 

Bin ça me semble assez explicite. J'ai pas essayé PHP 4.3 m'enfin d'après le message, c'est tout bête. Il te dit que les variables de sessions ne sont pas enregistrées en tant que variables globales. Donc t'as 2 possibilités :
* tu fous register_globals à on dans ton php.ini ;
* tu écris $_SESSION["h_con"] partout.
Seulement, y a p'têt un défaut dans ton code. Tu fais if(session_is_registered("h_con" )) alors on register la variable. Perso, je verrais plus if(!session_is_registered("h_con" )) non ?
'fin c'est toi qui vois :)

n°297574
souljacker
Posté le 30-01-2003 à 23:23:50  profilanswer
 

oui oui, j'ai corrigé, une petite erreur de frappe.
 
Tu dis "* tu écris $_SESSION["h_con"] partout.", je comprends pas vraiment car à part dans le code que j'ai mis, c'est le seul endroit où il y a du PHP (à part les includes sur les autres pages). Donc c'est le seul endroit où j'utilise cette variable, or c bien celle là que j'utilise.

n°297581
souljacker
Posté le 30-01-2003 à 23:27:58  profilanswer
 

J'ai remarqué un truc, j'ai le message qu'au premier accès. Si je fais un refresh de la page, il n'y a plus le message d'erreur.
 
Donc j'en déduis que c'est parce que la variable $_SESSION["h_con"]. Or si j'utilise session_is_registred, c'est justement dans le but de savoir si elle existe ou pas! Soit le PHP devient con, soit je deviens fou.

n°297583
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 30-01-2003 à 23:29:01  profilanswer
 

Alors essaie avec $HTTP_SESSION_VARS à la place de $_SESSION.

n°297626
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 31-01-2003 à 00:12:39  profilanswer
 

zion a écrit :


y a tous les éléments, pourquoi ne pas lire le manuel tout simplement?  :heink:  


 
Passke j'ai eu la flemme de regarder :D

n°297629
souljacker
Posté le 31-01-2003 à 00:16:05  profilanswer
 

ben j'ai regardé et je n'ai pas vu ça. Faudrait que je change de lunettes  :sweat:

n°297707
souljacker
Posté le 31-01-2003 à 09:26:46  profilanswer
 

j'utilise la dernière version du manuel PHP en version CHM. Donc là, je pense être suffisament armé  :whistle:  :lol:

n°298021
souljacker
Posté le 31-01-2003 à 15:34:48  profilanswer
 

si, mais bon fatalement il les regroupe et sont peut-être moins récente que sur le site.
 
C pour ça que je prend à chaque fois la dernière version.

n°298043
apolon34
Vive Linux!!
Posté le 31-01-2003 à 15:51:26  profilanswer
 

zion a écrit :


Et si on lisait le manuel?
 
blabla...
 
y a tous les éléments, pourquoi ne pas lire le manuel tout simplement?  :heink:  


 
j'allais le dire...
 
en fait, il ne faut plus utiliser session_* mais $_SESSION[]
 
session_is_registered va se resumer a isset($_SESSION[monmerdier])
 
pareil pour session_register $_SESSION[monmerdier] = $machin
 
avec ca, pas de soucis en php 4.3


Message édité par apolon34 le 31-01-2003 à 15:51:58

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

  PHP 4.3.0 et les sessions

 

Sujets relatifs
[PHP] sessions sous windows et sous IIS[PHP] Où trouver une documentation solide sur les sessions ?
[PHP] Sessions => demande confirmation d infos[PHP] g un probleme et je pense que ca vient de sessions mais...
pb avec la gestion des sessions PHP[PHP ] sessions qui pètent
[PHP] Gestion des sessions[PHP] variables de sessions et tableaux
[PHP] Peut-on allier les sessions et les cookies?Le new PHP de free , est ce qu'il supporte les sessions ?
Plus de sujets relatifs à : PHP 4.3.0 et les sessions


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