Formation Google AnalyticsSavez-vous bien utiliser les outils de mesure d'audience ?
Effectuez-vous un calcul de ROI (Retour sur investissement) pour savoir comment améliorer vos campagnes emarketing ?
Savez-vous utiliser les bons outils pour booster votre taux de transformation ?
La formation Web Analytics de Ranking Metrics, présentée par un expert reconnu officiellement par Google Analytics, vous apportera les réponses à toutes vos questions !
===> Informations et inscriptions.

Session Globals et classes

Poster un nouveau sujet Imprimer cette discussion    Forum -> Développement d'un site Web   Les dernières discussions de ce forum sont disponibles au format RSS
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
 
zeb
WRInaute passionné
WRInaute passionné

Inscrit le: 05 Déc 2004
Messages: 925

URL permanente de ce messagePosté le : Jeu Juin 12, 2008 10:22    Sujet du message: Session Globals et classes

Bonjour,

Je rencontre un problème pour lequel je ne trouve pas de solution.

Dans une méthode de classe (php5) j'ai besoins de consulter une variable de session, mais rien n'y fait.
Cette variable de session contient un booléen et la condition suivante dans ma methode ne foncttionne pas :

Code:
if($_SESSION['mavariable']){ $GLOBALS['uneautrevariable']=trucmachin; }


J'ai résolu le problème car je fais une opération sur une variable (qui n'existe que si c'est nécessaire) de la page qui utilise cet objet en testant l'existence de la variable a traiter ($uneautrevariable) comme ceci :

Code:
if(isset($GLOBALS['uneautrevariable'])){ $GLOBALS['uneautrevariable']=trucmachin; }


Mais j'aimerais comprendre le pourquoi du comment.

Merci
 
zeb Visiter le site web du posteur
Bacteries
WRInaute accro
WRInaute accro

Inscrit le: 27 Mai 2004
Messages: 1048
Localisation: France - Nantes

URL permanente de ce messagePosté le : Jeu Juin 12, 2008 10:46    Sujet du message: Session Globals et classes

T'as démarrer ta session?

Que te dit un print_r($_SESSION); ?
 
Bacteries Visiter le site web du posteur
zeb
WRInaute passionné
WRInaute passionné

Inscrit le: 05 Déc 2004
Messages: 925

URL permanente de ce messagePosté le : Jeu Juin 12, 2008 13:48    Sujet du message: Session Globals et classes

Bacteries a écrit:
T'as démarrer ta session?

Que te dit un print_r($_SESSION); ?


oui oui t'inquiet pas la session est active et tout et tout, ça fait même un moment que cet aspect est maîtrise, puisque pour te donner un peut de détail, en fait la variable de session en question, s'appel 'debug' et vaux vrai ou faux .
Cette variable me sert a basculer ma session en mode 'debug' où justement, je produit un affichage particulier de toutes mes variables (entre autre) en voici le dump pour exemple :

Citation:
16 Variables
$_SESSION['droits'] = webmaster
$_SESSION['id'] = 1
$_SESSION['nom'] = xxxxxxxx
$_SESSION['prenom'] = xxxxxxxxx
$_SESSION['alias'] = xxxxxxxxx
$_SESSION['mail'] = webmaster@xxxxxxxxx.com
$_SESSION['mdp'] = xxxxxxxxx
$_SESSION['lastip'] = 81.xxx.xxx.xxx
$_SESSION['info'] = ...
$_SESSION['url_avatar'] =
$_SESSION['site'] =
$_SESSION['libsite'] =
$_SESSION['inscription'] = 0000-00-00
$_SESSION['last_connexion'] = 2008-06-12 06:54:54
$_SESSION['log'] = 1
$_SESSION['debug'] = 1


Le truc c'est que quand j'exécute la condition au dessus dans ma méthode, que $_SESSION['debug'] soit true ou false, ça ne change rien.
Toujours pour la curiosité, cette condition, conditionne (hummmm elle est bonne celle là) à l'intérieur de ma méthode de classe l'enregistrement d'une requête dans une array :

Code:
 if(isset($GLOBALS['tab_req_obj'])){
    array_push($GLOBALS['tab_req_obj'],"class-edito : $in");
 }


Comme le mode 'debug' de la session est initialisé par le passage à true de cette variable, je crée l'array 'tab_req_obj' en amont de l'usage de l'objet (en fait juste après le session_start) donc la pirouette ci dessus fonctionne (test avec isset) mais je ne comprend pas pourquoi je n'arrive pas a faire la même chose sous cette forme :

Code:
 if($_SESSION['debug']){
    array_push($GLOBALS['tab_req_obj'],"class-edito : $in");
 }


les mystères de php .... et de ma tête creuse car il y a sûrement une réponse évidente ...
 
zeb Visiter le site web du posteur
erestrebian
WRInaute impliqué
WRInaute impliqué

Inscrit le: 15 Juin 2007
Messages: 366
Localisation: Lettonie

URL permanente de ce messagePosté le : Jeu Juin 12, 2008 14:24    Sujet du message: Session Globals et classes

if($_SESSION['debug']==1){
array_push($GLOBALS['tab_req_obj'],"class-edito : $in");
}


est-ce que ça fonctionne ça? J'avais eu des soucis une fois avec les booléens et depuis j'utilise plus trop donc je passe par des chemins parallèles...
 
erestrebian Visiter le site web du posteur
zeb
WRInaute passionné
WRInaute passionné

Inscrit le: 05 Déc 2004
Messages: 925

URL permanente de ce messagePosté le : Jeu Juin 12, 2008 20:42    Sujet du message: Session Globals et classes

erestrebian a écrit:
if($_SESSION['debug']==1){
array_push($GLOBALS['tab_req_obj'],"class-edito-bis : $in");
}
est-ce que ça fonctionne ça? J'avais eu des soucis une fois avec les booléens et depuis j'utilise plus trop donc je passe par des chemins parallèles...

Citation:
SQL-Query-Objet['6'] = class-edito : SELECT * FROM `editeur` WHERE id=5704
SQL-Query-Objet['7'] = class-edito-bis : SELECT * FROM `editeur` WHERE id=5704
SQL-Query-Objet['8'] = class-edito : UPDATE editeur SET hit = hit+1 WHERE id=5704
SQL-Query-Objet['9'] = class-edito-bis : UPDATE editeur SET hit = hit+1 WHERE id=5704


j'ai ajouté ton code en plus du mien, il provoque un béguéement ce qui m'indique que tu as raison !
Il faux donc (a priori dans les méthodes) tester explicitement l'égalité a true.

PHP5 / erestrebian -> erestrebian vainqueur par KO Merci Wink
 
zeb Visiter le site web du posteur
 
Montrer les messages depuis:   
Revenir en haut    Forum -> Développement d'un site Web Toutes les heures sont au format GMT + 2 Heures
Page 1 sur 1 - 
Connexion
Nom d'utilisateur:    Mot de passe:      Se connecter automatiquement à chaque visite    

A lire dans l'actualité sur WRI :

En savoir plus : .

CLIQUEZ ICI pour vous inscrire à WebRankInfo (forum, annuaire, outils...)

Connexion

© 2001-2005 phpBB Group, support français
Personnalisation : WebRankInfo ™


 ODP  Firefox  Alsacreations  annuaire webmaster Yagoort