debutant - garder mes variables d'une page à l'autre - PHP - Programmation
Marsh Posté le 06-03-2005 à 17:15:37
Les variables déclarées en dehors d'une fonction donnée et qui ne sont pas indiqué comme variable globale ( global $var; ) ne sont pas visible à l'intérieur de cette fonction.
Marsh Posté le 06-03-2005 à 19:37:06
salut omega,
et merci pour ta réponse, mais j'ai peur de mal m'y prendre car j'ai ce message en exécution :
Code :
|
je ne vois pas comment la variable ne peut être définie car j'ai bien mis avant ça :
Code :
|
que faire?
Marsh Posté le 06-03-2005 à 20:04:25
Tu opourais nous copier tes fichiers exacts plustôt que des petits bouts par ci par là?
Comme ça, on poura voir dans quel ordre tout est exécuté.
Marsh Posté le 06-03-2005 à 20:13:32
avec plaisir, les voici :
pour la page qui va être chargée :
Code :
|
cette page appelle donc en INCLUDE le fichier "entete.php" que voici :
Code :
|
et enfin, la focntion dans "classphp.php" un peu raccourci :
function pageType() {
//echo $pageType;
switch($pageType) {
case 'situation_geographique' : $enteteFlash = "enteteFlash_situation.swf"; break;
case 'situation_demographique' : $enteteFlash = "enteteFlash_situation.swf"; break;
case 'situation_economique' : $enteteFlash = "enteteFlash_situation.swf"; break;
case 'situation_politique' : $enteteFlash = "enteteFlash_situation.swf"; break;
case 'tourisme_lima' : $enteteFlash = "enteteFlash_tourisme.swf"; break;
case 'tourisme_cusco' : $enteteFlash = "enteteFlash_tourisme.swf"; break;
}
}
voilà!
Marsh Posté le 06-03-2005 à 20:24:22
Tu appelles ta fonction comme ca :
Code :
|
Ok, pas de probleme la dedans.
Mais regarde bien comment tu as defini ta fonction :
Code :
|
T'as pas l'impression qu'il y a un probleme ??
Comme te l'as dit omega tu ne peux pas acceder, depuis l'interieur de ta fonction, aux variable non globales qui se trouvent en dehors de cette derniere.
Mais ca c'est plutot "un effet de bord" a cause de ton probleme.
Tu appelles une fonction avec un parametre. Ok.
Mais lorsque tu as defini ta fonction, tu ne lui as pas defini de parametre.
Tu as deux solutions pour resoudre ton probleme.
La premiere consiste a modifier la definition de ta fonction pour que tu puisse passer un parametre. C'est la meilleure solution, et d'apres ton code c'est ce que tu voulais faire.
La deuxieme solution consiste a faire en sorte que tu puisse acceder a la variable que tu veux depuis l'interieur de ta fonction. Cette solution n'est pas la bonne sauf dans quelques rares cas.
Marsh Posté le 06-03-2005 à 20:37:27
bravo c'est bien ça!!
juste une question et je ne vous emebete plus, est-ce qu'il me faut un "retour de fonction"? car ça n'a pas l'air de prendre en compte la valeur de la variable $enteteFlash après l'execution de la focntion
merci encore
Marsh Posté le 06-03-2005 à 20:39:17
C'est sur que si tu lui dit pas qu'il doit retourner quelque chôse, il va rien retourner.
Marsh Posté le 06-03-2005 à 20:48:49
ben oui, ...la honte!!!
merci les gars, ça devrait fonctionner maintenant
Marsh Posté le 06-03-2005 à 15:52:48
Bonjour,
ça fait un moment que je me tire les cheveux pour un probleme tout bête à coup sur. Avant de devenir chauve je fais appel à vous.
Je souhaite chnager l'entete de page suivant les pages chargees. j'ai créé un fichier de fonctions dont une me sert à déterminer l'entete à afficher suivant la page chargée. euh, j'sui clair là?
Sur ma page à charger j'utilise une variable $pageType à laquelle je donne la valeur '01'. Toujours de cette page, j'appelle avec un INCLUDE le fichier "entete.php" :
De ce fichier entete, j'ai tapé ceci :
et ma fonction dans "classphp.php" est du genre :
je me suis documenté mais je dois mal m'y prendre, alors uncoup de main serait le bienvenu
merci d'avance