Bonjour a tous.

Voila j'ai un petit soucis qui défie mon sens de la logique.

Voila en fait je créé un petit cookie pour un panier de photos a télécharger d'une photothèque.

La page dlzip.php (dont le code suit) verreries la présence du cookie, en extrait les infos, remets les valeurs a vide puis supprime le cookie avant de lancer la création et le dl de l'archive zip.

Mon soucis est que quand je retourne sur la page dlzip.php alors que le cookie est supprimé (vérifié avec cookiemanager) il me ressort quand même tout les infos et fait le zip.

Pire quand je remets une photo dans mon panier et que je demande de dl sa me dl bien la photo dans un zip mais avec touts les autres photos demandé au préalable.

Y a t'il une persistance pour les cookies?

Si quelqu’un a une idée ça me dépannerais bien.

Voici le code de la page dlzip.php:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
 
<?php
require('../inc/classe/Mysql.php');
require('../inc/classe/standard_fonctions.php');
$sql= new Mysql();
if(isset($_COOKIE['panier_photos']))//recuperation du cookie pour panier de telechargement
{
    $var= unserialize($_COOKIE['panier_photos']);
    $i=0;
    $aZipper=array();
    foreach($var as $vars)//pour chaque entree dans le tableau mots cle on remplace les cottes par leur code html
    {
        //echo("<BR/>mots cles:".$vars);
        $requete["postPourPanier"]="SELECT id_fichier, nom_fichier, nom_sur_disque FROM fichier WHERE id_fichier=".$vars.";";
        $postPourCePanier=$sql->tabresSql($requete["postPourPanier"]);
        $aZipper[$i]=$postPourCePanier[0][2];
        $vars="";
        $i+=1;
    }
    //setcookie('panier_photos', '', 1);
    setcookie('panier_photos', "",1,'/phototeque/','10.8.166.207') or die("Impossible d'écrire le Cookie");
}
$zip = new ZipArchive();
 
 
 
        if($zip->open('Archive.zip', ZipArchive::CREATE) == TRUE)
	{
	  // Ouverture de l’archive réussie.
 
	  // Récupération des fichiers.
	  $fichiers = $aZipper;
	  // On enlève . et .. qui représentent le dossier courant et le dossier parent.
	  //unset($fichiers[0], $fichiers[1]);
 
	  foreach($fichiers as $f)
	  {
	    // On ajoute chaque fichier à l’archive en spécifiant l’argument optionnel.
	    // Pour ne pas créer de dossier dans l’archive.
	    if(!$zip->addFile("../container_uplad/".$f, $f))
	    {
	      echo 'Impossible d'ajouter &quot;'.$f.'&quot;.<br/>';
              
	    }
            
	  }
         
	  // On ferme l’archive.
	  $zip->close();

	  // On peut ensuite, comme dans le tuto de DHKold, proposer le téléchargement.
	  header('Content-Disposition: attachment; filename="Archive.zip"'); //Nom du fichier.
	  header('Content-Length: '.filesize('Archive.zip')); //Taille du fichier.

	  readfile('Archive.zip');
	}
	else
	{
	  // Erreur lors de l’ouverture.
	  // On peut ajouter du code ici pour gérer les différentes erreurs.
	  echo 'Erreur, impossible de créer l'archive.';
          echo "<script>alert(\"impossible de creer le zip.\")</script>";
	}
 
 
?>