Faire un tableau de cookies

Faire un tableau de cookies - PHP - Programmation

Marsh Posté le 18-05-2007 à 19:19:52    

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 ?

Reply

Marsh Posté le 18-05-2007 à 19:19:52   

Reply

Marsh Posté le 18-05-2007 à 20:15:22    

<?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']}";
   
?>

Reply

Marsh Posté le 18-05-2007 à 20:20:31    

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

Reply

Marsh Posté le 18-05-2007 à 20:39:42    

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. ?>

Reply

Marsh Posté le 18-05-2007 à 20:42:14    

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 ?

Reply

Marsh Posté le 18-05-2007 à 20:51:29    

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);

Reply

Marsh Posté le 18-05-2007 à 23:59:15    

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";}

Reply

Marsh Posté le 19-05-2007 à 00:18:35    

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 ;)

Reply

Marsh Posté le 19-05-2007 à 09:21:32    

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.

Reply

Marsh Posté le 19-05-2007 à 11:18:58    

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 ?

Reply

Marsh Posté le 19-05-2007 à 11:18:58   

Reply

Marsh Posté le 19-05-2007 à 13:37:57    

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:

Reply

Marsh Posté le 19-05-2007 à 14:37:45    

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 ?

Reply

Marsh Posté le 19-05-2007 à 14:42:23    

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
Reply

Marsh Posté le 19-05-2007 à 16:02:49    

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
 

Reply

Marsh Posté le 19-05-2007 à 20:34:00    

pourquoi utiliser des GET et des SESSION en mzeme temps ?

Reply

Marsh Posté le 19-05-2007 à 20:50:20    

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

Reply

Marsh Posté le 19-05-2007 à 20:55:15    

Site du zero ;)

Reply

Marsh Posté le 19-05-2007 à 21:00:47    

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
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed