Rechercher : dans
Par :

[PHP] Faire un tableau de cookies

Dernière réponse le 17 mar 2009 à 21:22:55 Dédé86, le 18 mai 2007 à 19:16:05 
 Signaler ce message aux modérateurs

Bonjour,

Je récupère la valeur d'un champ de formulaire sur la page envoyé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 ?
Configuration: Windows XP
Firefox 2.0.0.3

Meilleures réponses pour « [PHP] Faire un tableau de cookies » dans :
PHP - Les cookies et les en-têtes HTTP Voir Les en-têtes HTTP Lors de chaque échange par le protocole HTTP entre votre navigateur et le serveur, des données dîtes d'en-têtes contenant des informations sur les données à envoyer (dans le cas d'une requête) ou envoyées (dans le cas d'une...
[PHP] Notice: Undefined index: VoirSi vous utilisez les tableaux $_POST ou $_GET pour récupérer les variables de vos formulaires ou autres, il se peut que vous tombiez sur cette erreur: Notice: Undefined index 'champs du tableau' in 'chemin du fichier php en cours d'execution' on line...
[PHP] Headers already sent by..... VoirLorsque vous utilisez une fonction PHP qui manipule les en-têtes HTTP comme par exemple: header() setcookie() session_start() Il est important d'utiliser ces fonctions avant d'avoir généré le moindre flux vers le client. A partir du moment où...
PHP - Récupération de données VoirPHP rend très simple la récupération de données envoyées par l'intermédiaire de formulaires HTML. Création d'un formulaire Grâce à la balise FORM du langage HTML, il est très simple de créer des formulaires comprenant : des champs de saisie des...
PHP - Les fichiers VoirLa gestion des fichiers avec PHP Avec PHP, la création ou la lecture de fichiers est, une fois de plus, assez simple. Il existe une multitude de fonctions dédiées à l'utilisation des fichiers. La communication entre le script PHP et le fichier...
PHP - Les variables VoirConcept de variable avec PHP Une variable est un objet repéré par son nom, pouvant contenir des données, qui pourront être modifiées lors de l'exécution du programme. Les variables en langage PHP peuvent être de trois...

1

Dédé86, le 18 mai 2007 à 20:27:47

J'ai pensé à ce code mais je ne sais pas comment lire le tableau :

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

Répondre à Dédé86

2

jjsteing, le 18 mai 2007 à 21:04:52

Ah.. pas possible messieurs, mesdames...

on peu pas faire un tableau de cookies, vu qu un cookie c'est un simple fichier texte..

Mais on peut contourner le problème :

pour l'écriture du coookie
$compte=1;
while ($res)
{
setcookie("compte".$compte."", "$compte" );// tu vide ton tableau
$compte++;
}

Le cookie ressemblera a ca :
compte1=1
compte2=2
compte3=3

et pour la lecture :

$cpt=1;
txt[$cpt]=getcookie("compte".$cpt."");
while (txt[$cpt]!= "")
{
$cpt++;
txt[$cpt]=getcookie("compte".$cpt."");
}

et la ton tableau txt ressemblera a ca :

$txt[1]=1
$txt[2]=2
$txt[3]=3

Voili, j'espere que ca t'avance et surtout que ca résou ton soucis de tableau de cookie.

Et bon ap ;) :p

Répondre à jjsteing

3

Dédé86, le 18 mai 2007 à 21:30:05

Merci mais ton code ne fontionne pas apparement.

J'ai une erreur sur cette ligne :

txt[$cpt]=getcookie("compte".$cpt."");

Répondre à Dédé86

4

jjsteing, le 18 mai 2007 à 21:38:33

A, t as fait un copier coller, bete et mechant.. et je te comprend, ca serait tellement simple ;)

$_COOKIE["compte".$cpt] martchera ptere mieux ;) désolé, j'ai pas tres approfondi le code, c'est plus pour te donner la logique a avoir ;)

Répondre à jjsteing

5

Dédé86, le 18 mai 2007 à 21:44:54

Je suis désolé monsieur je ne comprend pas bien ton code. Excuse-moi mais est-ce que je peux te soumettre une idée ?

Est-ce qu'il est possible de mettre le contenu du cookie dans une variable de type tableau et après de lire ce tableau ?

Répondre à Dédé86

6

Dédé86, le 18 mai 2007 à 22:32:09

Il y a un truc que je ne comprend pas : pour m'entraîner j'ai essayer de stocker 2 cookies dans un tableau et quand j'appuie sur F5 pour rafraîchir la page, j'ai le contenu du 2ème tableau dans les 2 indices :

setcookie("MonCook", "Salut" );
$mavariable[0]=$_COOKIE['MonCook'];
setcookie("MonCook", "Les copains");
$mavariable[1]=$_COOKIE['MonCook'];
echo"$mavariable[0]<br>";
echo"$mavariable[1]<br>";

Répondre à Dédé86

7

jjsteing, le 19 mai 2007 à 12:01:53

Méacoolpas... désolé... en faisant des ptites recherche, j'ai trouver ceci.. je pense que c'est ce que tu cherche ;)


<?php
setcookie("cookie[three]", "cookiethree" );
setcookie("cookie[two]", "cookietwo" );
setcookie("cookie[one]", "cookieone" );

// Après avoir rechargé la page :
if (isset($_COOKIE['cookie'])) {
foreach ($_COOKIE['cookie'] as $name => $value) {
echo "$name : $value <br />\n";
}
}
?>

Voici ma source.. un ptit fichier d'aide sur les fonctions php tres tres utile ;)

http://www.php.net/get/php_manual_fr.chm/from/fr.php.net/mirror

Répondre à jjsteing

8

jjsteing, le 20 mai 2007 à 19:29:39

Alors? ca t as fait avancer le smilblick??

Répondre à jjsteing

9

fras34, le 21 mai 2007 à 16:05:08

Bonjour,



foreach($_POST as $key =>$val)    setcookie('tableau['.$key.']', $val);

header("Location:".$_SERVER['PHP_SELF']);

foreach($_COOKIE['tableau'] as $key => $val)  echo "$key : $val<br />\n"; 

Répondre à fras34

10

 Dr.SoFtNaF, le 17 mar 2009 à 21:22:55
  • +2

Bonsoir,

Il y a mieux que ça :

La fonction serialize dans le setcookie("name",serialize($array), time()+60*60);
la fonction prend tout le tableau, le rend sous format chaine de caractère, et stock le dans le cockie.

Pour récuperer la varriable, on fait comme ça:

$Array = unserialize($_COOKIE['name']);

Si vous sentez que vous avez une très grande chaine de caractère vous n'avez qu'a la compresser, exemple

$data[qwerty] = "blah";
$data[1][a] = "1aa";
$data[2][b] = "2bb";
$data[3][c] = ";;;;;;";
$data[name][first] = "Bob";
$data[name][last] = "Jones";
$data[val] = "c'est une très longue chaine de caractère, seulement pour savoir comment ça va être traiter.";
//Pour la serialiser appelez :
$string = gzcompress(serialize($data), 9);
setcookie("my_var", $string, time()+60*60*24*60, '/');
//print "String: $string\n<br>"; //uncomment to see serialized array

//pour la deserialiser appelez :
if (isset($_COOKIE[my_var])) {
$array = unserialize(gzuncompress($_COOKIE[my_var]));

echo "<pre>";
print_r($array);
echo "</pre>";
}

et voilà,

Je sais que cette discussion a été inventé y a 2 ans, mais seulement en cas où les autres entrain de la chercher, peuvent avoir une réponse dans ce forum.

Bonne journée

Cordiallement

Dr.SoFtNaF

Répondre à Dr.SoFtNaF
Collection CommentÇaMarche.net