Pb de session

Le
Barbbu
Bonjour,

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; }
}
}

closedir($dir);
} ?>

<HTML>
<HEAD>
<TITLE>Photos de concerts</TITLE>
<META http-equiv="refresh" content="3">
</HEAD>
<BODY bgcolor=black><center>
<TABLE><TR><TD align=left>
<img src="<?PHP display(".",1); ?>"><br><br>
<!--<font size=3 color=white><b>Photo : </b>--> <? //echo $photo;?>
</TD></TR></TABLE>
</BODY>
</HTML>
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
DavLand
Le #38075
Bonjour,

Je sais pas ou tu vas lire tes images, mais

fait clique droit sur le x de la photo qui apparaît pas sur le 2e
concert et

tu vas voir:
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
Barbbu
Le #38073
Salut,

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
Le #38071
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

DavLand
Le #38072
Je vois ça doit être comme tu dis ta session

essai session_destroy()


exemple : http://www.php.net/session_destroy

à la fin de ton code

peut-être que ça va fonctionner

si non je ne sais pas.
Barbbu
Le #38068
"DavLand"
Je vois ça doit être comme tu dis ta session

essai session_destroy()


Je m'en suis sorti avec un session_name("un_nom") en début de code, bien sûr
différent à chaque fois.
Merci.

Publicité
Poster une réponse
Anonyme