2011-06-02 4 views
1

Utilise le serveur WAMP pour le développement PHP. J'ai créé un cookie dans mon php mais je ne trouve pas le fichier de cookie en cours de création. Le php.ini lit session.save_path=C:/wamp/tmp et aucun des fichiers n'a été créé aujourd'hui. Le code est:Où sont stockés les fichiers cookies? - PHP Wamp

<?php 
     $mycookie="mycookie"; 
     $emailAddr="[email protected]"; 
     if (!isset($_COOKIE[$mycookie])) 
     { 
      if (!setcookie($mycookie, $emailAddr, 0)) 
      { 
       echo "Cannot set cookie"; 
      } 
      else 
       echo "Cookie is set"; 
     } 
?> 

je reçois "Cookie est réglé" message, mais la vérification C:/WAMP/tmp ne voit pas de fichier cookie créé aujourd'hui.

+2

Les cookies ne sont pas des sessions et sont stockés côté client et non côté serveur. – Wrikken

Répondre

7

Les cookies sont stockés individuellement selon le navigateur. ils les stockent dans leurs propres dossiers. Ce que vous définissez dans votre php.ini est le chemin de la session. qui est le chemin d'enregistrement des sessions $_SESSION pas de cookies $_COOKIES.

2

Les cookies ne sont pas stockés côté serveur. Le but des cookies est d'avoir des informations stockées sur le navigateur afin que l'information soit maintenue entre les pages. Si vous voulez quelque chose du côté du serveur similaire aux cookies, vous devez utiliser sessions.

3

Vous semblez confondre cookie et session. Les cookies sont stockés côté client tandis que les sessions sont stockées côté serveur. Bien que les sessions utilisent souvent un cookie, elles sont uniquement utilisées pour stocker l'ID de session mais pas les données réelles.

L'emplacement de stockage réel des cookies dépend de l'agent utilisateur. La plupart les stockent dans des fichiers dans le système de fichiers du client. L'emplacement de stockage de la session est spécifié avec session.save_path (sauf si vous utilisez un storage handler autre que celui par défaut).

En outre, setcookie ne revient toujours vrai sauf quand le Set-Cookie header field correspondant ne pouvait pas être envoyer en raison du fait que l'en-tête HTTP a déjà été envoyé et par conséquent ne peut plus être modifiée. La valeur de retour de setcookie ne dit rien si le cookie a été accepté ou non.

Questions connexes