Discussion:
Pb de session
(trop ancien pour répondre)
Barbbu
2007-07-03 16:02:16 UTC
Permalink
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>
DavLand
2007-07-03 21:10:39 UTC
Permalink
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: << http://dadsurweb.free.fr/IN&OUT/diaporama2/ >>

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
2007-07-04 08:52:04 UTC
Permalink
Salut,
Post by DavLand
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
DavLand
2007-07-04 14:42:09 UTC
Permalink
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
2007-07-04 23:59:33 UTC
Permalink
Post by 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.

Thierry
2007-07-04 14:42:09 UTC
Permalink
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à
Post by Barbbu
if (strpos("jpeg.jpg.gif.bmp",substr($f,-4))) {
soit
Post by Barbbu
// 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
Post by Barbbu
else if ($photo == "")
impossible car la variable de session est affectée par la visualisation du
concert précédent
Post by Barbbu
{ $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
Continuer la lecture sur narkive:
Loading...