Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1334 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Faire un tableau de cookies

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Faire un tableau de cookies

n°1562181
Dede86
Posté le 18-05-2007 à 19:19:52  profilanswer
 

Bonjour,
 
Je récupère la valeur d'un champ de formulaire sur la page envoée et je la met dans un tableau POST.
 
Je voudrais savoir comment faire pour créer un tableau de cookies et comment l'afficher ce tableau, parce que pour l'instant je peux seulement récupérer une valeur.
 
Voici mon code :
 
<?php
 $res=$_POST['tranvar'];
 setcookie("titre", "$res" );
 echo "{$_COOKIE['titre']}";
?>
 
 
Vous pouvez m'aider svp ?

mood
Publicité
Posté le 18-05-2007 à 19:19:52  profilanswer
 

n°1562198
andr_9999
Posté le 18-05-2007 à 20:15:22  profilanswer
 

<?php  
 $res=$_POST['tranvar'];  
 setcookie("titre", "$res" );  
 // il n'y pas $_COOKIE['titre'] maintenant!
 //On ne peut pas recevoir $_COOKIE['titre'] avant qu'il soit inscrit! $_COOKIE['titre'] sera accessible seulement après la deuxième mise en marche
 echo "{$_COOKIE['titre']}";
   
?>

n°1562203
Dede86
Posté le 18-05-2007 à 20:20:31  profilanswer
 

Merci mais ça j'ai compris, je me demandais comment stocker un tableau de cookies et l'afficher. J'ai pensé à ce code mais je ne sais pas comment le lire :  
 
$res=$_POST['tranvar'];
 
 $compte++;
 setcookie("compte", "$compte" );
 setcookie("titre[$compte]", "$res" );
 
Est-ce que c'est correct ? Quel est le code pour parcourir le tableau  
 
merci d'avance

n°1562211
andr_9999
Posté le 18-05-2007 à 20:39:42  profilanswer
 

Oui! Bien sur!

Code :
  1. <?php
  2. // set the cookies
  3. setcookie("cookie[three]", "cookiethree" );
  4. setcookie("cookie[two]", "cookietwo" );
  5. setcookie("cookie[one]", "cookieone" );
  6. // after the page reloads, print them out
  7. if (isset($_COOKIE['cookie'])) {
  8.     foreach ($_COOKIE['cookie'] as $name => $value) {
  9.         echo "$name : $value <br />\n";
  10.     }
  11. }
  12. ?>

n°1562212
Dede86
Posté le 18-05-2007 à 20:42:14  profilanswer
 

Merci mais comment je dois faire si je veux qu'il n'y ai qu'un seul cookie qui s'incrémente s'il te plaît ?

n°1562217
andr_9999
Posté le 18-05-2007 à 20:51:29  profilanswer
 

Probablement je ne t'ai pas compris de nouveau (je tres veux dormir)...
if(!isset($_COOKIE['compte']))
{
 $compte=0;//ou 1 ?
}else{
 $compte=$_COOKIE['compte'];
}
setcookie('compte',++$compte);

n°1562256
Dede86
Posté le 18-05-2007 à 23:59:15  profilanswer
 

Merci mais ça ne va pas. Je voudrais afficher un tableau de cookies (transmis par post). Ce code ne marche pas, il affiche seulement le dernier élément que je viens de sélectionner. Tu peux m'aider ?
 
$res=$_POST['tranvar'];    
$compte++;
SetCookie ("Compte", $compte);
SetCookie ("Caddie[$compte]", "$res" );
 
   
 foreach ($_COOKIE['Caddie'] as $name => $value) {
     echo "$name : $value <br />\n";}

n°1562260
tomsoft
Posté le 19-05-2007 à 00:18:35  profilanswer
 

tu cherches a faire un caddie pour une e-boutique ?
 
j'ai tout fait en variables de Session ;)
 
je peut te filer mon modele de caddie si tu veut ;)

n°1562299
andr_9999
Posté le 19-05-2007 à 09:21:32  profilanswer
 

Mien Français est terrible. Je de nouveau ne t'ai pas compris :(
$res=$_POST['tranvar'];    
$compte++;  
SetCookie ("Compte", $compte);  
SetCookie ("Caddie[$compte]", "$res" );  
 
   
 foreach ($_COOKIE['Caddie'] as $name => $value) {  
     echo "$name : $value <br />\n";}
 
ici $_COOKIE['Caddie'] est un ton tableau.
L'utilise comme le tableau ordinaire.
pour example
$cnt=count($_COOKIE['Caddie']);
for($i=0;$i<$cnt;$i++)
print $_COOKIE['Caddie'][$i];
 
Ainsi $_COOKIE['Caddie'][$some_number]  est un element de tableau.

n°1562319
Dede86
Posté le 19-05-2007 à 11:18:58  profilanswer
 

Rebonjour
 
J'ai une erreur dans le code  : Undefined offset: 0
 
Sur cette ligne : print $_COOKIE['Caddie'][$i];
 
Le problème c'est que mon catalogue est sur une autre page alors quand je change de page pour aller sur mon panier la valeur de $compte++ est indéterminée non ?

mood
Publicité
Posté le 19-05-2007 à 11:18:58  profilanswer
 

n°1562352
tomsoft
Posté le 19-05-2007 à 13:37:57  profilanswer
 

pour ton probleme de transfert de variables à l'autre page ,tu as soit les variables GET ($_GET['compte']) ou les variables de session ($_SESSION['compte']) maiqs tu dois declarer ta session avant tout ton code avec un
 
session_start();
 
:jap:

n°1562366
Dede86
Posté le 19-05-2007 à 14:37:45  profilanswer
 

Est-ce que tu peux me montrer un exemple de code qui envoit les informations pour un article sur 1 autre pages page en utilisant une variable de session pour garder en mémoire l'incrémentation stp ?

n°1562367
tomsoft
Posté le 19-05-2007 à 14:42:23  profilanswer
 

ok, alors en GET :

 

ton lien qui envoie :

 

< a href="autrepage.php?compte=$compte" > lien </a>

 

et ta page aura pour adresse dans le navigateur :

 

http://serveur/autrepage.php?compte=2

 

si $compte vaut 2.

 

tu recupere la valeur de compte par $_GET['compte']

 

Par cette methode l'utilisateur peut changer la valeur de compte en changeant l'url :/

 

donc tu as les variables de session,

 

au debut de ton index tu mets un :

 

<?php
session_start();
?>

 

puis apres dans ta page tu met un

 

$_SESSION['compte'] = $compte

 

tu ppourras reutiliser ta variable de session $_SESSION['compte'] partout apres ;)

 


edit : par la methode get, tu peut envoyer plusieurs varaibles, il faut les separer par "&", ex :

 

< a href="autrepage.php?compte=$compte&id=$id&numero=$numero" > lien </a>

 

tu auras donc 3 varialbes get,

 

$_GET['compte']
 $_GET['id']
 $_GET['numero']


Message édité par tomsoft le 19-05-2007 à 14:45:00
n°1562389
Dede86
Posté le 19-05-2007 à 16:02:49  profilanswer
 

Cette fois j'ai utilisé les sessions et des get pour récupérer les informations je pense que ça marche par contre j'ai une erreur pour afficher mon tableau :
 
$compte = $_GET['compte']; //Incrémentation du compteur
$compte = $compte++;
$_SESSION['compte'] = $compte;
echo "{$_GET['titre']}<br>";
$_SESSION["panier{$_SESSION['compte']}"] = $_GET['titre'];
 
foreach ($_SESSION['panier'] as $name => $value) {  
     echo "$name : $value <br />\n";}
 
J'ai comme erreur : : Invalid argument supplied for foreach()  
 
Est-ce que tu as une idée ?
Merci
 

n°1562460
tomsoft
Posté le 19-05-2007 à 20:34:00  profilanswer
 

pourquoi utiliser des GET et des SESSION en mzeme temps ?

n°1562463
Dede86
Posté le 19-05-2007 à 20:50:20  profilanswer
 

bonne question :-) je suis un peu perdu je vais revoir mes cours. Merci de ton aide en tout cas.
 
A bientôt

n°1562464
tomsoft
Posté le 19-05-2007 à 20:55:15  profilanswer
 

Site du zero ;)

n°1562466
tomsoft
Posté le 19-05-2007 à 21:00:47  profilanswer
 

en gros moi ce que je fais,

 

je declare au debut une variable

 
Code :
  1. $_SESSION['NbArticles'] = 0;
 

puis quand j'ajoute un produit au panier, j'incremente ma variable,

 
Code :
  1. $_SESSION['NbArticles']++;
 

et je crée mes variables d'infos du produit

 
Code :
  1. $_SESSION['IdArticle' . $_SESSION['NbArticles']] = $id
  2. $_SESSION['QuantiteArticle' . $_SESSION['NbArticles']] = $qty
  3. $_SESSION['NomArticle' . $_SESSION['NbArticles']] = $nom



Message édité par tomsoft le 19-05-2007 à 21:02:23

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Faire un tableau de cookies

 

Sujets relatifs
tableau de chaines en mémoire partagé (Linux/POSIX) [RESOLU]Visual Basic : copier le contenu d'une liste dans un tableau
Labview: problème pour créer un tableauclonage d'un tableau simple
Tableau croisé dynamique : faire une "joiture" sur 2 feuillestableau 3d ?
[C]Passer un tableau de structures en paramètres[html / css] gerer la largeur des cellules dans un tableau
variable a la place d'un indice dans un tableau en jsTrier un tableau à double dimension ?
Plus de sujets relatifs à : Faire un tableau de cookies


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR