|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Nouveau Membre du Club
![]() Inscription : septembre 2006 Messages : 128 ![]() |
Bonjour,
J'ai besoin d'utiliser les sessions et malgrès tout ce que j'ai pu lire, j'ai un soucis J'arrive a creer mes variables sessions et a les réulitiser, mais pas a effectuer un test dessus... J'ai essayer pleins de trucs mais rien n'y fait ... Je vous passe mes deux fichiers tests : test.php: Code :
Code :
![]() Merci ! |
||||
|
|
00
|
|
|
#2 |
|
Membre émérite
![]() Franck Développeur Web indépendant Inscription : avril 2007 Messages : 678 ![]() |
Bonjour.
Est ce que ton session_start est bien placé avant toutes sorties html??? Même avant la balise <html>??
__________________
LudiKreation Pour un web ludique et son Blog | CapRumbo pour un peu d'évasion | ChaOdisiaque Club Passion Rôliste |SierrElben le Jeu de rôle |
|
00
|
|
|
#3 |
|
Nouveau Membre du Club
![]() Inscription : septembre 2006 Messages : 128 ![]() |
Salut,
oui, c'etait vraiment le debut du code que je t'avais affiché ... Mais j'ai résolu mon pbs, j'avais manqué de rigueur. Par contre j'ai un autre pbs qui me semble intérressant : J'ai un fichier inclus qui vient modifier ma variable $_SESSION. Et j'ai l'impression que ma page principale index.php conserve l'ancienne valeur, alors que la page incluse à bien la nouvelle. La preuve : a la fin du fichier index.php, un echo m'affiche une valeur de session, et l'écho du debut du fichier inclus m'affiche une autre valeur. D'ou ma question : si j'ai une page index.php qui contient un fichier inclus "A". En cliquant sur un lien on décharge "A" pour charger "B". Est ce que le fichier principal index.php est relus ? Je pensais que oui, mais apparemment non sinon comment expliquer ces 2 valeurs différentes ?
|
|
|
00
|
|
|
#4 | ||
|
Membre émérite
![]() Inscription : août 2006 Messages : 943 ![]() |
PHP reste un langage de script, lu de haut en bas, de gauche à droite....
Si tu fais : Code :
__________________
Veni Vidi Vici ------------------------- Mes articles : developpez.com ou bien vbview.net ------------------------- Et SURTOUT ne pas oublier la bible PHP : --> php_manual_fr.chm!!! Et aussi : --> pear_manual_fr.chm!!! Ou encore : --> Les tutoriaux & cours PHP de Développez.com ------------------------- |
||
|
|
00
|
|
|
#5 |
|
Nouveau Membre du Club
![]() Inscription : septembre 2006 Messages : 128 ![]() |
Ok, c'est ce que je pensais ...
Du coup je ne comprend rien à ce qui se passe ! Je suis en train de faire des test pour pouvoir poser des questions clairs ... A toute à l'heure
|
|
|
00
|
|
|
#6 | ||||||||||
|
Nouveau Membre du Club
![]() Inscription : septembre 2006 Messages : 128 ![]() |
Voila, j'ai fais mon exemple et je retombe sur le meme probleme.
Le but est de faire varier mon menu en fonction de ma valeur de session ! Et je sesche !! ! Voici les fichiers tests : fichier test.php: Code :
Code :
Code :
Code :
Code :
|
||||||||||
|
|
00
|
|
|
#7 | ||
|
Membre émérite
![]() Inscription : août 2006 Messages : 943 ![]() |
Il y a qu'au niveau du test 3 que tu initialise une variable de SESSION, tous les autres test ne sont que des vérifs.....
Pour intialiser correctement un variable de session, surtout si c'est toujours la même variable qui change, je te conseil de passer par des valeurs GET acroché à tes menus. C'est plus simple, ca mange pas de pein, et tu peux garder tes sessions pour des utilisations plus importantes.... Il ne faut jamais abuser des bonnes choses !!! Exemple : Code :
Te cache pas comme ca, reviens aux bonnes vielles valeurs qui marchent !!!
__________________
Veni Vidi Vici ------------------------- Mes articles : developpez.com ou bien vbview.net ------------------------- Et SURTOUT ne pas oublier la bible PHP : --> php_manual_fr.chm!!! Et aussi : --> pear_manual_fr.chm!!! Ou encore : --> Les tutoriaux & cours PHP de Développez.com ------------------------- |
||
|
|
00
|
|
|
#8 |
|
Nouveau Membre du Club
![]() Inscription : septembre 2006 Messages : 128 ![]() |
humm ... Presque gagné, mais c'est pas 20/20 quand meme ...
En fait j'ai un site classique (donc menu classique), mais dans le menu, j'ai un lien "zone membre". Le but est de changer completement de menu une fois que je suis dans la zone membre... donc .... allé, 17/20 Donc en fait je fais une variable $_SESSION['menu'] que je teste ensuite, et selon le résultat, je renvoie sur un include ou un autre ... Mais comme je débute en php, peut etre que je suis à coté de la plaque ! Mais comme en théorie ca m'a l'air possible, j'aimerais bien avoir qd meme la soluce meme si ce n'est pas la meilleurs methode ... Merci bp en tout cas !! |
|
|
00
|
|
|
#9 | ||||
|
Membre émérite
![]() Inscription : août 2006 Messages : 943 ![]() |
Ok, ba à ce moment là, carrément :
Code :
Du style : Code :
__________________
Veni Vidi Vici ------------------------- Mes articles : developpez.com ou bien vbview.net ------------------------- Et SURTOUT ne pas oublier la bible PHP : --> php_manual_fr.chm!!! Et aussi : --> pear_manual_fr.chm!!! Ou encore : --> Les tutoriaux & cours PHP de Développez.com ------------------------- |
||||
|
|
00
|
|
|
#10 |
|
Nouveau Membre du Club
![]() Inscription : septembre 2006 Messages : 128 ![]() |
Ca y est, j'ai regardé ton code et j'ai fait exactement la meme chose.
Ca me fait plaisir, j'étais pas trop ds les choux ... Sinon qq questions : pourquoi le echo"<a href="">page ..." c'est pas très bien ? Qu'y a t'il d'autre comme moyens ? tu mets $password===$pass : pourquoi utilises tu la triple égalité et pas la double ? Sinon merci beaucoup pour tes réponses, ca m'aide bien ! Je suis ds la bonne direction, il reste juste à trouver l'erreur... |
|
|
00
|
|
|
#11 | |
|
Nouveau Membre du Club
![]() Inscription : septembre 2006 Messages : 128 ![]() |
Ha si j'ai encore une autre question :
tu mets à la fin header("Location : page1.php") Moi ca ne fonctionne pas : j'en déduisais au début que c'était dû au fait que le header etait créé ds un fichier inclus, mais apparement non ... Tu as une idée de mon erreur ? Citation:
|
|
|
|
00
|
|
|
#12 | ||
|
Membre émérite
![]() Inscription : août 2006 Messages : 943 ![]() |
Ca veut dire qu'il y a eu un affichage avant le header....
En effet, le header marche comme le session_start(), il ne faut rien afficher avant..... Le echo avec du HTML c'est pas cool quand tu fais de "long" echo, comme par exemple une page entière :-) Je te conseil comme structure de page ceci : Une page principale (par ex : index.php) dans laquelle tu mettras ton code HTML. En tête de cette page, tu mets le session_start(), et juste ne dessous des incudes contenant des traitements conditionnels sans affichage (sauf pour les condition bien sûr....) et enfin : tu trouve le point ou tu vzux mettre ton menu dans la page, et tu l'include.... Comme ca, tu n'auras plus de problèmes de "header already sent", puisque toute tes conditions de redirections sont en tête de ta page, sans affichage !!!! Ca ferait comme ca : Code :
PS : pour le Passxord je préfère mettre 3 === parce que c'est l'égalité absolue en type etc..... Ca permet d'affirmer un peu plus le fait que le password est bon, et a le type que je veux...
__________________
Veni Vidi Vici ------------------------- Mes articles : developpez.com ou bien vbview.net ------------------------- Et SURTOUT ne pas oublier la bible PHP : --> php_manual_fr.chm!!! Et aussi : --> pear_manual_fr.chm!!! Ou encore : --> Les tutoriaux & cours PHP de Développez.com ------------------------- |
||
|
|
00
|
|
|
#13 |
|
Nouveau Membre du Club
![]() Inscription : septembre 2006 Messages : 128 ![]() |
ok, il va falloir essayer tout ca et tout remanier ... chic
Je te remercie vraiment, ca va bien me decoincer !!! A+ Seb |
|
|
00
|
|
|
#14 |
|
Membre émérite
![]() Inscription : août 2006 Messages : 943 ![]() |
De rien a plus...
Une lecon fondamentale en PHP : eviter tant que possible de mélanger le HTML et le PHP....
__________________
Veni Vidi Vici ------------------------- Mes articles : developpez.com ou bien vbview.net ------------------------- Et SURTOUT ne pas oublier la bible PHP : --> php_manual_fr.chm!!! Et aussi : --> pear_manual_fr.chm!!! Ou encore : --> Les tutoriaux & cours PHP de Développez.com ------------------------- |
|
|
00
|
|
|
#15 |
|
Membre du Club
![]() |
Salut tout le monde.
Je post ici car je vois que Seb a eu à peu près le même soucis que moi. Sauf que le mien est assez bizarre, car ma variable globale n'a pas l'air de passer au travers des arborescences. J'explique: Je veux aussi changer le menu en fonction du niveau du membre qui se connecte. Mes fichiers de menus sont dans un répertoire include, ainsi que le fichier menus.php qui contient les conditions d'afficher tel ou tel menu. Donc mon fichier menus.php je le mets dans mes pages par un include('include/menus.php'); et là ma surprise est que la valeur de ma variable globale est vide, alors que sur une page de la racine, elle contient la valeur escomptée. Quelqu'un aurait une idée?
__________________
//-----------------------------------------\\\\ Peace on Earth //-----------------------------------------\\\\ |
|
|
00
|
|
|
#16 |
|
Membre émérite
![]() Inscription : août 2006 Messages : 943 ![]() |
Une variable globale ????
Une Session, plutot ?
__________________
Veni Vidi Vici ------------------------- Mes articles : developpez.com ou bien vbview.net ------------------------- Et SURTOUT ne pas oublier la bible PHP : --> php_manual_fr.chm!!! Et aussi : --> pear_manual_fr.chm!!! Ou encore : --> Les tutoriaux & cours PHP de Développez.com ------------------------- |
|
|
00
|
|
|
#17 | ||
|
Membre du Club
![]() |
Ou c une variable de session.
Le problème est que cette variable est vide quand je l'utilise dans un fichier qui appartient à un dossier dans ma racine. Elle est instance au index.php lors du log du membre. Ensuite j'affiche un petit texte à la place de la zone de log, pour donner son nom et som niveau (donc j'utilise la variable), et j'aimerais changer le fichier menu à afficher en fonction de son niveau. Voici ma page include/menus.php Code :
__________________
//-----------------------------------------\\\\ Peace on Earth //-----------------------------------------\\\\ |
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com