[PHP] Faire un tableau de cookies
Dédé86
Messages postés
690
Statut
Membre
-
Dr.SoFtNaF Messages postés 21 Statut Membre -
Dr.SoFtNaF Messages postés 21 Statut Membre -
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 :
Vous pouvez m'aider svp ?
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 ?
A voir également:
- [PHP] Faire un tableau de cookies
- Tableau word - Guide
- Trier un tableau excel - Guide
- Tableau ascii - Guide
- Comment faire un tableau croisé dynamique - Guide
- Imprimer un tableau excel - Guide
10 réponses
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
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
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.
$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.
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 ;)
https://www.php.net/distributions/manual/php_manual_fr.chm
<?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 ;)
https://www.php.net/distributions/manual/php_manual_fr.chm
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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";
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
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
Merci mais ton code ne fontionne pas apparement.
J'ai une erreur sur cette ligne :
txt[$cpt]=getcookie("compte".$cpt."");
J'ai une erreur sur cette ligne :
txt[$cpt]=getcookie("compte".$cpt."");
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 ;)
$_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 ;)
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 ?
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 ?
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>";
setcookie("MonCook", "Salut" );
$mavariable[0]=$_COOKIE['MonCook'];
setcookie("MonCook", "Les copains");
$mavariable[1]=$_COOKIE['MonCook'];
echo"$mavariable[0]<br>";
echo"$mavariable[1]<br>";