probleme de cookie

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : probleme de cookie

par zeus » 08 mai 2008, 13:13

bah, en arriver à stocker le panier en cookie montre, selon moi, une mauvaise réflexion. (c'est pas à prendre comme une critique méchante)

Donc, je préfère être complet et donner un aperçu générale ;)

par M.Jerome » 08 mai 2008, 12:24

- possibilité de piratage (ce n'est pas compliqué de modifier un prix ou un total une fois que le cookie est découvert)
Oui, mais je pense qu'un minimum de réflexion aura abouti à ne stocker que les IDs des articles, le client peut faire ce qu'il veut avec les IDs, si il le change manuellement, il aura un autre produit avec le prix qui lui correspond, en espérant qu'il tombe sur moins chère . :D

Mais tu as tout de même raison, les sessions, c'est le mieux.

par zeus » 08 mai 2008, 12:19

Pour aller dans la même idée que M.Jerome, il faudrait que tu comprennes que le cookie est une information stockée sur le poste client.

Si tu stockes un panier dedans, tu t'exposes à plusieurs problèmes :
- possibilité de piratage (ce n'est pas compliqué de modifier un prix ou un total une fois que le cookie est découvert)
- tu augmentes le volume de données transmis entre le poste client et le serveur
- si les cookies sont désactivés par le client, ton système ne fonctionne plus du tout

Il est beaucoup plus intéressant de passer par les sessions
- le panier est stockée sur le serveur, sans possibilité pour le client d'y accéder directement ( => sans passer par ton code PHP)
- la seule information envoyée au client est l'identifiant de la session (moins de volume)
- si le client n'accepte pas les cookies, les serveurs sont configurés pour transmettre cet identifiant en GET, et ce, automatiquement, donc sans ajouter de code dans ton programme.

par M.Jerome » 08 mai 2008, 12:07

Premièrement on ne peux définir des cookie qu'avec la fonction "setcookie", $_COOKIE ne permeet que l'accès au contenu d'un cookie.

Ensuite, pour stocker un array, il faut le transformer en chaîne de caractères, pour ce faire, la fonction "serialize" ou encore "json_encode" pourront t'aider. Ensuite il te suffit d'utiliser les fonctions qui font le contraire, et ça roule. Par contre j'ai lu qu'il était déconseillé de faire une sérialization avec des cookies, à toi de voir. Mais les session seront plus pratique pour la gestion d'un panier.

par jeanmed » 08 mai 2008, 07:57

Bonjour,

je cherche à comprendre surtout comment stocker des infos dans le cookie.

Salutations

par Truc » 07 mai 2008, 15:13

Pourquoi avoir un panier en cookie ?

Un tuto sur les paniers..

par FredoMkb » 07 mai 2008, 15:00

Bonjour :)

Je crois que le système de Cookies n'accepte pas des "array", il lui faut du "string", pour ce faire, regarde du côté des fonctions "serialize" et "unserialize"...

à+ :)

probleme de cookie

par jeanmed » 07 mai 2008, 14:48

Bonjour,

Je travail sur un petit système de panier, pour cela je créé un cookie dans lequel je voudrais stocker sous forme de tableau associatif.

Mais lorsque je fais un print_r je ne vois que le dernier enregistrement !!

Voici mon code, je voudrais donc cumuler tous mes enregistrement à la position 0, 1 .... de mon tableau.
<?php

if(isset($_GET['test']))
{

if(!isset($_COOKIE['panier']))
{
setcookie("panier");
}

$_COOKIE['panier'][]=array("id" => "dfdfd",'nom'=>"fdfd",'model'=>"dfdfdfdfd");	

print_r($_COOKIE);
}


?>