Accueil > Forum > > > > Portée de variable globale
Portée de variable globale
jeudi 31 août 2006 à 09:56:13 |
Portée de variable globale

DARKSIDIOUS
|
Bonjour à tous ! J'ai un petit problème de portée de variable : Dans un fichier common.php, je déclare ma variable en globale : global $MaVariable; Dans une fonction de ce même fichier common.php : function toto() { global MaVariable; MaVariable = "toto"; } Dans un fichier index.php : include_once("common.php"); toto(); echo MaVariable; //m'affiche bien la valeur toto. Ensuite, j'enlève le echo MaVariable; et je met une redirection header("Location: 'toto.php'"); et là, dans toto.php, si je fais : include_once("common.php") echo MaVariable; Il n'affiche rien :( On dirait qu'il a perdu la valeur de la variable dans la redirection !
Alors comment faire pour conserver la valeur de ma variable dans la redirection ? (si possible sans passer par une variable de session).
|
|
jeudi 31 août 2006 à 10:27:53 |
Re : Portée de variable globale

malalam
|
hello Dark,
tu dois rappeler ta fonction toto () dans toto.php, puisque c'est elle qui conditionne la mise en "globals" de ta variable toto. Dans index.php, tu lances toto (), donc ta variable existe effectivement. Mais avec le header, tu changes de page, les variables ne peuvent pas être globales sur différentes pages (comme pour des fonctions, des classes, etc). Donc, il faut relancer toto. Du coup...pourquoi définir une fonction toto ?
common.php : $sMaVar = 'toto';
index.php: require_once 'common.php'; echo $sMaVar; // affiche toto // on commente la ligne précédente et on met : header ('Location: toto.php');
toto.php: require_once 'common.php'; echo $sMaVar; // affiche toto
|
|
jeudi 31 août 2006 à 16:04:42 |
Re : Portée de variable globale

DARKSIDIOUS
|
Bon tant pis, je vais passer par une variable de session alors, c'est bête cà quand même que les variables ne sont pas stockées d'une page à une autre !
|
|
jeudi 31 août 2006 à 16:43:41 |
Re : Portée de variable globale

malalam
|
Ben c'est le principe du web ;-) C'est pour ça qu'on a les cookies, les sessions, ou/et les requêtes HTTP. De ttes façons, si c'est une variable globale à tout le site, MAIS susceptible d'être modifiée durant une même session (par session, j'entends : session de navigation par un utilisateur, sans quitter ton site) : oui, il faut utiliser les sessions (cette fois, je parle des sessions php ;-) ). C'est le plus simple.
|
|
jeudi 31 août 2006 à 16:55:57 |
Re : Portée de variable globale

DARKSIDIOUS
|
Bah là c'est juste en fait pour stocker un état de page : modification/suppression ou ajout. Donc c'est pas vraiment relatif à une session, mais plutôt à un petit groupe de page. Et moi qui pensais qu'avec le php, tout (ou presque) était permis contrairement aux langages applicatifs !
|
|
vendredi 1 septembre 2006 à 09:31:11 |
Re : Portée de variable globale

coockiesch
|
Salut! Tout est permis: - dans ta première page, tu crée un fichier .xml (au nom du sid) - tu le récupère dans le deuxième L'avantage de cette méthode, c'est que tu viens de gagner 500pts CS pour avoir fait plaisir à Malalam!!    ( désolé, j'ai pas pû m'empêcher, c'est le matin, :$ ) @++ R@f www.allpotes.ch: Photos, humour, vidéos, gags, ... "On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
|
|
vendredi 1 septembre 2006 à 10:01:36 |
Re : Portée de variable globale

DARKSIDIOUS
|
hein ? Déjà que passer par une variable de session, je trouve ca un peu lourd, alors je vais pas m'encombrer en plus d'un fichier xml !
|
|
vendredi 1 septembre 2006 à 10:10:55 |
Re : Portée de variable globale

coockiesch
|
Heu... c'était pas sérieux! Je comprends pas pk ça semble si lourd de passer par des variables de session? @++ R@f www.allpotes.ch: Photos, humour, vidéos, gags, ... "On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
|
|
vendredi 1 septembre 2006 à 10:29:12 |
Re : Portée de variable globale

DARKSIDIOUS
|
Bah venant de la prog de logiciel, j'ai un peu de mal avec la portée des variables en PHP, et surtout, je comprends pas trop pourquoi il faut passer par des variables de session pour enregistrer une valeur d'une page à une autre sachant qu'on en aura plus besoin après => on enregistre la variable, on met sa valeur, on change de page, on lit la variable, on la détruit. Ca serait plus simple de n'avoir qu'une simple variable globale à un module et qui accessible uniquement dans le module. Enfin bon, apparement, le monde de la prog web est bien différent du monde de la prog de logiciels ! Il faut juste changer d'état d'esprit. ;)
|
|
vendredi 1 septembre 2006 à 10:37:32 |
Re : Portée de variable globale

coockiesch
|
Yep! Mais bon, si c'était comme tu dis, les scripts prendraient bcp de place en mémoire: les vars de tous les modules seraient gardés auto en mémoire dans l'éventualité qu'on les ré-utilise... @++ R@f www.allpotes.ch: Photos, humour, vidéos, gags, ... "On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
|
|
Cette discussion est classée dans : variable, php, toto, common, mavariable
Répondre à ce message
Sujets en rapport avec ce message
Recupérer variable javascript dans php [ par quinton75 ]
Bonjour,[^^clinoeil1][^^clinoeil1] Je souhaite récupérer une variable javascript dans du PHP. A lire sur certains forums, il faut forcement rechagre
Transformation chaine de caractère. [ par fritz931 ]
Bonjour tout le monde, J'ai un soucis pour transformer une chaine de caractère qui me servira à alimenter Highcharts. En gros je récupère mon array so
defaut de transmision avec url php html [ par profiter ]
bonjour lorsque j'envoie une variable a l'aide d'un url aussi la var je la recupere de la base de donnees et s'affiche bien dans la premiere page alor
Importation d'une variable par cookie [ par jrmy7 ]
Bonjour à tous ! Comme vous le devinerez je débute en PHP. C'est la deuxième fois que je pose cette question, la première publication m'a permis de c
[HELP] Probleme variable ' " . + [ par iamslyper ]
Bonjour, Je suis en train de peter un cable complet. Si quelqu'un peut m'aider avec ceci : En gros, je dois inserer ceci [code=php]modifForm('add','
Inclure variable php dans embed src [ par bigbik ]
Bonjour, Pour les besoins de mon site j'ai un lecteur audio intégré. voici le code : j'ai créé une variable $audio qui porte le nom du fichier à éc
Recuperation de variable [ par lilyy59 ]
Bonjour je voudrai uploader des images pour ensuite les rappeler sur un autre page mais je voudrais que ces images porte le nom de la variable défini
convertir plusieurs variable en un tableau [ par 1030 ]
Bonjour, me semble que c'est possible .... j'ai des variable [code=php]$nom = "mon nom"; $prenom = "asddfsd";[/code] et j'aimerais les faire passer
recuperation donnée dans variable en local OK sur free.fr NOK [ par folow ]
bonsoir les gens ... Voila je me suis remis au php depuis 3 semaines afin de mettre mon CV en ligne (passons) Et la problème, J'épluche google et tou
php variable et header [ par marine34000 ]
Bonjour, J'ai déjà réussi a mettre des variables dans un header, mais la je ne comprend ps je n'y arrive plus j'ai un variable queje dois passer nor
Livres en rapport
|
Derniers Blogs
ROSLYN FLUENT APIS: ROSLYNHELPER NUGET PACKAGEROSLYN FLUENT APIS: ROSLYNHELPER NUGET PACKAGE par Matthieu MEZIL
Si vous utilisez Roslyn et que vous vous voulez vous simplifier le code du code rewriter, je vous conseille d'installer mon NuGet package RoslynHelper ....(read more) ...
Cliquez pour lire la suite de l'article par Matthieu MEZIL POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|