par
Ryle » 09 févr. 2007, 13:25
Alors on va commencer par un p'tit cours rapide sur les sessions
Une session, pour faire simple, c'est un tableau php qui s'appelle $_SESSION et qui est stocké en mémoire sur le serveur tant que l'utilisateur est connecté. L'intéret, c'est que tu peux y stocker des valeurs comme sur un tableau d'affichage, que chaque script de ton site peut venir consulter quand il en a besoin.
Pour qu'un script puisse utiliser ce tableau, il faut lui donner l'accès en "démarrant" la session avec la commande session_start().
Dans ton cas, ce que l'on veut faire, c'est se souvenir des pages qui ont été demandées (à droite et à gauche) lorsque l'on change l'une des deux, afin de conserver l'autre. Pour ça on va enregistrer ces infos dans le tableau de session, et venir le lire ensuite pour les ré-afficher.
Pour les trois petits points, c'est juste pour symboliser le code que tu peux avoir entre l'ouverture de la session et la suite

Ca n'est naturellement pas une instruction php, donc à dégager
Pour la syntaxe particulière "() ? :" il s'agit effectivement d'un if/else sous la forme ternaire (voire la faq) qui prend moins de place que sa forme complète (mais tu peux très bien l'utiliser aussi

)
$lien = 'page_par_defaut'; // valeur par défaut
if (isSet($_GET['lien'])) { // si la donnée est passée en get
// elle est explicitement demandée par l'utilisateur, donc on l'utilise :)
$lien = $_GET['lien'];
}
else { // sinon
if (isSet($_SESSION['lien'])) { // si la donnée existe en session
// c'est qu'elle a été précément demandée par l'utilisateur, donc on l'utilise
$lien = $_SESSION['lien'];
}
// pas besoin de else
}
faire de même avec $lien2
A partir de là, on sait quelle page afficher à gauche, que ce soit celle par défaut, celle demandée à l'instant par l'utilisateur ou encore celle demandée précédement. On va donc pouvoir l'afficher dans le include, et on va également en profiter pour aller l'écrire dans la session (sur mon tableau destiné aux autres scripts) et mettre à jour la valeur "demandée précédement" par celle-ci
C'est ce que je fais ici :
$_SESSION['lien'] = $lien; // stocke la nouvelle valeur de $lien dans la session
C'est y plus clair ?
