Quel est la durée de vie d'une variable session - PHP - Programmation
Marsh Posté le 03-09-2005 à 02:21:13
ficher de conf :
Citation : Directive Local Value Master Value |
Marsh Posté le 03-09-2005 à 12:38:52
tu veux dire $_SESSION['toto']="";
non je ne pense pas. Si j'affecte des variables vide, je devrais au moins voire que $_SESSION['toto'] avec aucune valeur. Non ?
sinon bien entendu, j'"unsete" pas la variable.
Marsh Posté le 03-09-2005 à 12:54:16
$_SESSION['toto']=$_POST['mavaleur'];
avec $_POST['mavaleur']; qu'est vide, ca videra quand même la valeur. Sinon, il y a pas un truc où il faut déclarer la session dans toutes les pages qu'on utilise?
Un de ces jours il va faloir que je m'y mettes aux session en php pour moins répondre à taton.
Marsh Posté le 03-09-2005 à 13:37:01
au contraire, justement si je fais pas mon affectation, je n'ai plus ma variable de session ...
en (1) bis dans calcul.php, je fais mon affectation apres en (2) dans form.php je fais juste un simple affichage. Pour bien verifier que je n'ai pas fait apres m'affichage dans form.php, une opération qui detruirait la variable session, je fais un print_r($_SESSION). La variable $_SESSION['toto'] est bien présente à la fin du fichier form.php
Je submit vers calcul.php et poufff, elle a disparut.
Pour remedier aux probleme, je retransmet la valeur que devrait prendre $_SESSION['toto'] à calcul.php (3) via le post de mon formulaire et je refais mon affectation $_SESSION['toto']=$_POST['toto']; dans calcul.php (3)
C'est un peu dommage car je perds un peu l'utilité de la session qui est je pense de pouvoir recuperer une valeur sur n'importe quel page sans la retransmettre.
omega2, le site que je suis en train de developper sera heberger chez 9online.net, je ne pourrais rien touché à la conf malheuresement : http://www.online.net/support/fr/doc/php4/phpinfo.html
Marsh Posté le 03-09-2005 à 14:05:02
je pensais pas aux fichier de config, mais à une fonction à utiliser dans chaque page utilisant les session pour justement dire qu'on les utilise. Mais je sais plus s'il faut le faire quand on utilise le tableau $_SESSION ou pas.
Marsh Posté le 03-09-2005 à 14:08:50
ahhh oki.
Et bien pour ma part, je fais juste un session_start();
Marsh Posté le 03-09-2005 à 14:16:00
Voilà, c'était à ca que je pensais.
Essaye sans pour voir au cas où.
Marsh Posté le 03-09-2005 à 14:25:53
du fait que dans la conf, c'est session.auto_start Off Off, je suis obligé de dire que je demarre ma session dans ma page.
Si je ne l'indique pas, j'ai une erreur.
Marsh Posté le 03-09-2005 à 14:32:09
Ca te dit pas de balancer ton code (réduit au minimum si possible) ? J'ai la flemme d'essayer de comprendre ton post initial.
Marsh Posté le 03-09-2005 à 02:19:47
j'ai une page avec mon formulaire et une page de calcul.
je fais : form.php ===submit ==> calcul.php === header('location') ==> form.php
je clique sur un bouton, ca submit et ca revient sur ma page
j'ecris dans mes variables session dans calcul.php et je les affiche dans form.php
elle s'affiche bien mais je suis obligé de refaire les affectation dans cacul.php
$_SESSION['toto'] s'affiche bien
(1) form.php =====> calcul.php : $_SESSION['toto']='toto' =====> (2) form.php : echo $_SESSION['toto']
mais si je fais un resubmit
===== >(3) calcul.php : $_SESSION['toto'] n'existe plus ====> (4) form.php
je perde ma variable session dans calcul.php et donc apres quand je reredirige vers form.php, je peux plus afficher.
Pourquoi suis je obliger a chaque fois de faire des affectations pour ne pas perdre mes sessions ?
pourtant :
- je ne fais pas de destroy ou que ce soit .....
- à la fin de mon fichier dans (2) form.php, je vois bien que $_SESSION['toto'] avec print_r($_SESSION) mais je vois apres que dès le début de (3) calcul.php j'ai perdu la variable en mettant un print_r($_SESSION) juste apres le session_start();