sur cette page :
http://dadsurweb.free.fr/IN&OUT/photos.html
si je clique une première fois sur un lien (de concert) ça marche comme il
faut (fenêtre pop-up avec diaporama)
Mais si je clique sur un autre concert (même en ayant fermé la popup) ça
marche plus !
Je suppose que c'est une question de fermeture de session, mais je sait pas
comment la mettre en oeuvre.
Pouvez-vous m'aider ?
Merci.
ci dessous mon fichier .php :
<?PHP session_register("photo");
function display($rep,$niv) {
global $photo;
$dir = opendir($rep);
if($niv>0) { // Lit les sous-dossiers
while ($f = readdir($dir))
if ($f!="." && $f!=".." && !is_file($rep."/".$f))
display($rep."/".$f,$niv-1); // Script fini? On recommence...
if($photo=="") display($rep,$niv);
}
while ($f = readdir($dir)) { // Photos du dossier courant
if (is_file($rep."/".$f))
if (strpos("jpeg.jpg.gif.bmp",substr($f,-4))) {
// La photo en cours est-elle celle affichée ?
// Si non : on affiche, si oui : suivante
if($photo == $rep."/".$f) { $photo = ""; }
else if ($photo == "")
{ $photo = $rep."/".$f; echo $photo; }
}
}
tu pointes vers rien sur la 2e et 3e c'est pour ça que ça fonctionne pas.
tu dois pas lire le bon dossier ou sous-dossier
vérifie ça
Non, c'est pas ça. Commence par cliquer sur le 2eme concert et tu verras !... Merci
Thierry
bonjour,
<oulala> il semble que la fonction session_register va se "déprécier". il vaudrait mieux utiliser session_start() et $_SESSION </oulala>
donc on a déjà visionné un concert la variable de session $photo a donc une valeur et on arrive là
if (strpos("jpeg.jpg.gif.bmp",substr($f,-4))) { soit
// La photo en cours est-elle celle affichée ? // Si non : on affiche, si oui : suivante if($photo == $rep."/".$f) { $photo = ""; } impossible car on est plus dans le répertoire du concert précédent
else if ($photo == "") impossible car la variable de session est affectée par la visualisation du
concert précédent
{ $photo = $rep."/".$f; echo $photo; }
Donc si j'ai corretement lu ton code: à moins de réinitialiser ta session pour chaque concert tu ne pourra jamais en visualiser qu'un
je pense avoir pointer le "hic", par contre c'est trop loin de ma tournure d'esprit pour proposer une solution autre qu'une remise à plat totale du script.
bon courage
thierry
bonjour,
<oulala>
il semble que la fonction session_register va se "déprécier".
il vaudrait mieux utiliser session_start() et $_SESSION
</oulala>
donc on a déjà visionné un concert la variable de session $photo a donc une
valeur
et on arrive là
if (strpos("jpeg.jpg.gif.bmp",substr($f,-4))) {
soit
// La photo en cours est-elle celle affichée ?
// Si non : on affiche, si oui : suivante
if($photo == $rep."/".$f) { $photo = ""; }
impossible car on est plus dans le répertoire du concert précédent
else if ($photo == "")
impossible car la variable de session est affectée par la visualisation du
concert précédent
{ $photo = $rep."/".$f; echo $photo; }
Donc si j'ai corretement lu ton code:
à moins de réinitialiser ta session pour chaque concert tu ne pourra jamais
en visualiser qu'un
je pense avoir pointer le "hic", par contre c'est trop loin de ma tournure
d'esprit pour proposer
une solution autre qu'une remise à plat totale du script.
<oulala> il semble que la fonction session_register va se "déprécier". il vaudrait mieux utiliser session_start() et $_SESSION </oulala>
donc on a déjà visionné un concert la variable de session $photo a donc une valeur et on arrive là
if (strpos("jpeg.jpg.gif.bmp",substr($f,-4))) { soit
// La photo en cours est-elle celle affichée ? // Si non : on affiche, si oui : suivante if($photo == $rep."/".$f) { $photo = ""; } impossible car on est plus dans le répertoire du concert précédent
else if ($photo == "") impossible car la variable de session est affectée par la visualisation du
concert précédent
{ $photo = $rep."/".$f; echo $photo; }
Donc si j'ai corretement lu ton code: à moins de réinitialiser ta session pour chaque concert tu ne pourra jamais en visualiser qu'un
je pense avoir pointer le "hic", par contre c'est trop loin de ma tournure d'esprit pour proposer une solution autre qu'une remise à plat totale du script.