Page 1 sur 1

dépose de cookie

Posté : 19 févr. 2007, 12:45
par chinouk
Bonjoura tous ,
voila j ai un soucie quand j essais de deposer un cookie ( pour la premiere depose )

mon code :

Code : Tout sélectionner

if ($tache == 'ajout_panier') { // on depose un cookie if (!isset($_COOKIE["toto"])) { // --- calcul d'un identifiant unique $bt_sid = date("U") . getMyPid(); // --- positionnement du cookie setcookie ("toto", $bt_sid, time()+86400, '/'); } // on recupere les infos du produit a ajouter au panier $reqSelectProduit = "SELECT id,uv,refp, prix, photo, description FROM produit where refp='".$ref."'"; $resulatSelectProduit = ExecutionRequete($reqSelectProduit, $connexion); $resultSelectProduit = LigneSuivanteTab($resulatSelectProduit); $id= $resultSelectProduit['id']; $refp = stripslashes($resultSelectProduit['refp']); $prix = $resultSelectProduit['prix']; $uv = $resultSelectProduit['uv']; $photo = $resultSelectProduit['photo']; $description = stripslashes($resultSelectProduit['description']); $cookie= $_COOKIE["toto"]; //on enregistre le produit dans la base panier $reqInsertProduit = "insert into panier (sid,refp,description,uv,prix_unitaire,quantite,poids)"; $reqInsertProduit .= "values ($cookie,'$refp','$description','$uv',$prix,'1','poids')"; $resulatInsertProduit = ExecutionRequete($reqInsertProduit, $connexion); $Affichage.= '<script language="Javascript">'; $Affichage .= "alert('cet article a été ajouté au panier');"; $Affichage .= '</script>'; }
mon erreur est que sid est vide. j obtiens ajout_panier par hidden de form

par contre quand je fais un refresh de ma page je n ai plus l erreur :(
merci beaucoup de votre aide

Posté : 19 févr. 2007, 14:53
par Ryle
Erreurs communes :

Les cookies ne seront accessibles qu'au chargement de la prochaine page, ou au rechargement de la page courante. Pour tester si un cookie a été défini avec succès, vérifiez la présence du cookie au prochain chargement de la page avant que le cookie n'expire.

Posté : 19 févr. 2007, 15:56
par Invité
Erreurs communes :

Les cookies ne seront accessibles qu'au chargement de la prochaine page, ou au rechargement de la page courante. Pour tester si un cookie a été défini avec succès, vérifiez la présence du cookie au prochain chargement de la page avant que le cookie n'expire.
merci de votre reponse, mais comment puis je faire pour ne plus avoir le message d erreur Au premier chargement ?

Posté : 19 févr. 2007, 16:32
par Ryle
Le plus simple à mon avis est d'utiliser une autre variable dans ton script, que tu initialiseras en fonction de la présence ou non du cookie :)
$cookie = '';
if (!isset($_COOKIE["toto"])) { 
      // --- calcul d'un identifiant unique 
      $cookie = date("U") . getMyPid(); 
       // --- positionnement du cookie 
      setcookie ("toto", $cookie, time()+86400, '/'); 
} 
else // si le cookie existe, on récupère sa valeur
  $cookie = $_COOKIE["toto"];
Ainsi, que la valeur vienne d'être ajoutée ou qu'elle ait été récupérée depuis le cookie, tu peux utiliser la variable $cookie sans soucis :)