[PHP] Faire un tableau de cookies
Fermé
Dédé86
Messages postés
682
Date d'inscription
vendredi 23 décembre 2005
Statut
Membre
Dernière intervention
14 mars 2017
-
18 mai 2007 à 19:16
Dr.SoFtNaF Messages postés 21 Date d'inscription vendredi 22 décembre 2006 Statut Membre Dernière intervention 19 octobre 2010 - 17 mars 2009 à 21:22
Dr.SoFtNaF Messages postés 21 Date d'inscription vendredi 22 décembre 2006 Statut Membre Dernière intervention 19 octobre 2010 - 17 mars 2009 à 21:22
A voir également:
- [PHP] Faire un tableau de cookies
- Tableau croisé dynamique - Guide
- Tableau ascii - Guide
- Supprimer les cookies - Guide
- Comment faire un tableau - Guide
- La cause de ce problème peut être la désactivation ou le refus des cookies. ✓ - Forum Réseaux sociaux
10 réponses
Dr.SoFtNaF
Messages postés
21
Date d'inscription
vendredi 22 décembre 2006
Statut
Membre
Dernière intervention
19 octobre 2010
30
17 mars 2009 à 21:22
17 mars 2009 à 21:22
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
Dédé86
Messages postés
682
Date d'inscription
vendredi 23 décembre 2005
Statut
Membre
Dernière intervention
14 mars 2017
208
18 mai 2007 à 20:27
18 mai 2007 à 20:27
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.
jjsteing
Messages postés
1669
Date d'inscription
vendredi 11 mai 2007
Statut
Contributeur
Dernière intervention
21 mai 2012
181
19 mai 2007 à 12:01
19 mai 2007 à 12:01
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
jjsteing
Messages postés
1669
Date d'inscription
vendredi 11 mai 2007
Statut
Contributeur
Dernière intervention
21 mai 2012
181
20 mai 2007 à 19:29
20 mai 2007 à 19:29
alors? ca t as fait avancer le smilblick??
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
fras34
Messages postés
92
Date d'inscription
mardi 19 avril 2005
Statut
Membre
Dernière intervention
27 mai 2007
36
21 mai 2007 à 16:05
21 mai 2007 à 16:05
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";
jjsteing
Messages postés
1669
Date d'inscription
vendredi 11 mai 2007
Statut
Contributeur
Dernière intervention
21 mai 2012
181
18 mai 2007 à 21:04
18 mai 2007 à 21:04
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
Dédé86
Messages postés
682
Date d'inscription
vendredi 23 décembre 2005
Statut
Membre
Dernière intervention
14 mars 2017
208
18 mai 2007 à 21:30
18 mai 2007 à 21:30
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."");
jjsteing
Messages postés
1669
Date d'inscription
vendredi 11 mai 2007
Statut
Contributeur
Dernière intervention
21 mai 2012
181
18 mai 2007 à 21:38
18 mai 2007 à 21:38
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 ;)
Dédé86
Messages postés
682
Date d'inscription
vendredi 23 décembre 2005
Statut
Membre
Dernière intervention
14 mars 2017
208
18 mai 2007 à 21:44
18 mai 2007 à 21:44
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 ?
Dédé86
Messages postés
682
Date d'inscription
vendredi 23 décembre 2005
Statut
Membre
Dernière intervention
14 mars 2017
208
18 mai 2007 à 22:32
18 mai 2007 à 22:32
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>";