session_start et récuperation de valeurs dans un lien

Phildefine
Invité n'ayant pas de compte PHPfrance

30 août 2005, 17:55

Bonjour,

Je débute en php et particulièrement avec la fonction session_start() qui m'etonne pas mal.

J'ai une page 'test.php' qui contient ce code :

Code : Tout sélectionner

<? echo ' page='.$page; echo '<a href = "test.php?page=1">page 1</a>'.'<br>'; echo '<a href = "test.php?page=2">page 2</a>'.'<br>'; echo '<a href = "test.php?page=3">page 3</a>'.'<br>'; ?>
Jusque là, pas de problème : la valeur de l'arguement 'page' s'affiche bien quand on clique sur le lien...

Mais dès que j'ajoute session_start(); juste après la balise <? cela ne marche plus et la valeur $page ne varie plus :(

Pourriez vous m'expliquer cela ?

J'utilise easyphp 1.6 sous windows... je ne sais pas si cela peut aider ...

Merci à tous ...

Philippe

Mammouth du PHP | 19672 Messages

30 août 2005, 18:47

Ce bout de code est inclus dans un autre fichier ou tu affiches ça directement ?
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Invité
Invité n'ayant pas de compte PHPfrance

31 août 2005, 10:04

Uniquement ce code sur test.php...

Eléphant du PHP | 199 Messages

31 août 2005, 10:25

Ton session_start() est avant la balise <html> :?:
Les 2 font la paire : coder ET commenter :wink:

Invité
Invité n'ayant pas de compte PHPfrance

31 août 2005, 10:47

Bon, je ne comprends pas trop ce qui s'est passé hier mais cela refonctionne aujourd'hui. L'ordinateur ou moi même devions être en surchauffe... 8) Je me demande, si ce n'est pas une histoire de mémoire cache ou de persistance de la variable $_SESSION...

Merci pour votre aide en tout cas...

Philippe

Phildefine
Invité n'ayant pas de compte PHPfrance

31 août 2005, 12:26

Hello,

Pour compléter ma réponse : c'est bien un problème de session; cela le fait de nouveau après un certain moment.... et disparait lorsque l'on place session_destroy avant session_start.

Comment sait on qu'une session est en cours ?
J'ai testé if (isset($_SESSION)) {session_destroy();} mais cela ne semble pas marcher.

Philippe