Titre: Problème avec Session
Posté par: Le lapin le le 25-08-2006 a 19:05:01
Bonjour à tous,
Je vous explique mon soucis, qui est soit lié au javascript, soit à mon code html, soit à mon code php (rien que ca :) )
Structure: index.php popup.php
index.php est une page qui scan le contenu d'un répertoire dans lequel se trouve des images, et génère des miniatures qu'il affiche à l'écran. popup.php est le popup qui s'ouvre lorsque vous cliquez sur une miniature. Grâve au java, elle affiche l'image dans sa taille réelle.
Mon objectif: Je cherche a créer des liens "précédent" et "suivant" sur le popup. De manière à naviguer d'une photo à l'autre sans quitter mon popup.
Mon soucis est le suivant, pour générer ces fameux liens, il me faut une table contenant le nombre totale ainsi que le nom des images du même album. Jusque là pas de problème je l'ai. Mon problème est de réussir à transmettre ce tableau vers mon popup. J'ai trouvé une méthode qui consiste à stocker le tout dans une session
Code:
| $_SESSION["listImg"] = $listImg; |
|
Youpi j'ai trouvé. Et bien non... Le popup ne conserve pas les informations de la session, et d'ailleurs dans mon popup, je n'ai aucune session. Je suis donc obligé de faire de commencer mon popup.php par session_start(); Ok, mon popup a une session. Etant donné que je n'ai aucun lié entre mon index et mon popup, je dit à mon index d'envoyer mon fameux tableau via les liens des miniatures.
On obtient:
Code:
| <a href="#" onclick="javascript:NewWindow=window.open('modules/photos/popup.php?image=<? echo $linkimg; ?>&rep=<? echo $repImg; ?>&session=new','image','toolbar=0,location=0,directories=0,status=0,resizable=1,copyhistory=0,scrollbars=0,menuBar=0,width=<? echo $src_w2 ?>,height=<? echo $src_h2 ?>'); NewWindow.focus();"><img src="ressources/photos/mini/<? echo $dossier.'/mini_'.$listImg[$numImg] ?>" |
|
Via un petit code je vérifie que je récupère bien le tableau, et bien non quedal...
Pour palier à ca, je me dit bon pas grave, on refais tourné une moulinette pour avoir la liste de toutes les photos présentent dans le répertoire et je regénère mon tableau pour ensuite créé mes liens.
* Vous me suivez toujours? * :sleep:
Bref, ceci fait j'ai mon tableau et toutes mes infos dans mon popup.php Youpi! Je créé mes liens, je clique dessus, boom perte de session... Une nouvelle page poitant sur le même fichier php (popup.php), je me retrouve sans session... via un misérable <a href>
Résultat je craque, j'ai le cerveau qui m'abandonne sur ce coup ^^ J'en fais donc appel à vous messieurs les experts, les pros des Sessions, ou tout simplement les gens ayant des alternatives pour me permettre de récupérer des infos d'une page à l'autre.
Merci par avance pour votre aide! Je vous donne ci-dessous mes bout de code, qui vous parlerons sans doute plus que mon pavé :)
Le code des liens des miniatures (situé sur index.php):
Code:
| <td align="center"><a href="#" onclick="javascript:NewWindow=window.open('modules/photos/popup.php?image=<? echo $linkimg; ?>&rep=<? echo $repImg; ?>&session=new','image','toolbar=0,location=0,directories=0,status=0,resizable=1,copyhistory=0,scrollbars=0,menuBar=0,width=<? echo $src_w2 ?>,height=<? echo $src_h2 ?>'); NewWindow.focus();"><img src="ressources/photos/mini/<? echo $dossier.'/mini_'.$listImg[$numImg] ?>" border="0" width="50" height="50"></a></td> |
|
Le code de mon popup.php (attention les 3/4 du code me servait simplement à vérifier l'existance d'une session):
Code:
<? session_start();
$image = $_GET["image"]; $rep = $_GET["rep"]; $rep = "../../".$rep;
function isImg ($file){if (eregi(".jpg$",$file)){return true;]
if (isset($_GET["session"])) { if ($_GET["session"] == "new") { session_unset(); session_destroy(); } }
if (!isset($_SESSION["listImg"])) { echo "test"; $handle = opendir("$rep"); // On ouvre le repertoire des images while ($file = readdir($handle)) { if ($file != "." && $file != ".." && isImg ($file)) { $listImg[] = $file; // On place toutes les images du dossier dans le tableau $imgList } } closedir($handle); // On ferme le repertoire des images sort ($listImg); // On tri les fichiers dans l'orde alphabetique $_SESSION["listImg"] = $listImg;
} else { echo "test2"; }
echo "<pre>";print_r($_SESSION);echo "</pre>";
?> <HTML><HEAD><TITLE>Album PHOTO</TITLE></HEAD> <BODY> <CENTER> <img src="<? echo $rep."/".$image; ?>"</br> Précédent < > Suivant </CENTER> </BODY></HTML> |
|
|
Forum-webmaster | Actionné par YaBB SE
© 2001-2003, YaBB SE Dev Team. Tous droits réservés.
|