[PHP] arrays en cookies *

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
PHP:
1
2
3
4
5
6
7
8
9
10
<?php
    setcookie ("cookie[three]", "cookiethree");
    setcookie ("cookie[two]", "cookietwo");
    setcookie ("cookie[one]", "cookieone");
    if (isset ($_COOKIE["cookie"] )) {
        while (list ($name, $value) = each ($_COOKIE["cookie"])) {
            echo $name ."==". $value ."<br>\n";
        }
    }
?>


Ik heb dit voorbeeld gevonden op php.net en iets aangepast.
Ik krijg nu alleen one==cookieone terug, wat doe ik verkeerd?

Acties:
  • 0 Henk 'm!

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 15-09 18:24

dusty

Celebrate Life!

Wat was dan het origineel, en wat heb jezelf veranderd? Werkte het origineel wel?

Trouwens heb ik ook even de topic titel een wat meer zeggende titel gegeven, de laatste keer dat ik keek was [COOKIE] geen programmeertaal, en het beschreef in principe niets van je probleem alleen dat het iets met cookies was. En daardoor krijg je opeens een stuk minder mensen die jouw topic zouden gaan lezen, dus een stuk minder aantal mensen die een mogelijke oplossing voor je zouden kunnen hebben.

[ Voor 72% gewijzigd door dusty op 22-09-2003 10:43 ]

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
sorry voor de onduidelijke topic titel
het origineel op php.net is deze:
Je kunt ook array cookies zetten door array notatie in de cookie naam te gebruiken. Dit heeft het effect dat er evenveel cookies worden neergezet als je array elements hebt, maar als het cookie wordt ontvangen door je script worden de waarden allemaal geplaatst in een array met de naam van het cookie:
PHP:
1
2
3
4
5
6
7
8
setcookie ("cookie[three]", "cookiethree");
setcookie ("cookie[two]", "cookietwo");
setcookie ("cookie[one]", "cookieone");
if (isset ($cookie)) {
    while (list ($name, $value) = each ($cookie)) {
        echo "$name == $value<br>\n";
    }
}


Ik heb er $_COOKIE van gemaakt ipv $cookie, dat werkt bij mij niet meer. (nieuwere php versie)

Acties:
  • 0 Henk 'm!

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 06-09 00:37

curry684

left part of the evil twins

P&W FAQ - PHP - Register Globals.

Just a thought....

Professionele website nodig?


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Just a thought....
Ik wil wel gewoon de nieuwe php standaard volgen, het moet toch in de aangepast vorm ook werken.

Acties:
  • 0 Henk 'm!

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 06-09 00:37

curry684

left part of the evil twins

Ja? :?

En dan gebruik je toch de nieuwe standaard oftewel register globals, en zet je die aan in je prefs? :?

Professionele website nodig?


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
ja die staan aan, $_POST, $_GET & $_COOKIE werken ook gewoon, zie 1st post.
$_COOKIE["cookie"][one] == "cookieone" , maar de andere leveren geen waardes?

ik doe iets verkeerd met of het invoeren of het uitlezen van de cookie, maar wat?

Acties:
  • 0 Henk 'm!

Verwijderd

hoe ver kom je na
PHP:
1
2
3
4
5
setcookie ("cookie[three]", "cookiethree"); 
setcookie ("cookie[two]", "cookietwo"); 
setcookie ("cookie[one]", "cookieone"); 
/* na reload */
print_r($_COOKIE)


enne, die while list each contructie is nogal verouderd.

[ Voor 50% gewijzigd door Verwijderd op 22-09-2003 15:26 ]


Acties:
  • 0 Henk 'm!

  • supakeen
  • Registratie: December 2000
  • Laatst online: 09-09 14:42
Waarom zou je niet gebruik maken van de mooie functue serialize die is in dit geval erg handig, hoef je maar 1 cookie te setten :)

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Nokia de output is als volgt:
Array ( [cookie] => Array ( [one] => cookieone ) )
ook maar 1 element gezet :(
echt bizar....

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
najaa volgens mij doe ik echt iets structureel verkeerd...??!!
PHP:
1
2
setcookie( "userid", $row[0], time() + 3600, "/", "192.168.1.158" );
setcookie( "userkey", $crypt, time() + 3600, "/", "192.168.1.158" );


als ik dit doe zet hij alleen userkey, en als ik ze omdraai wordt alleen de userid bewaard?
Wat begrijp ik verkeer?! :'(

Acties:
  • 0 Henk 'm!

Verwijderd

Je bent ervan op de hoogte dat cookies pas bekend zijn nadat je gereload hebt? Dat zou namelijk je laatste voorbeeldje wel verklaren. Verder kunnen er maar 20 cookies per domein worden bewaard, maar dat lijkt me in dit geval niet het probleem :)

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
PHP:
1
2
3
//rederict naar zichzelf -> cookie werkt pas na herladen pagina
Header( "Location: nieuwsbriefprospect.php?sub=prosp" );
exit();


in mijn laatste voorbeeld staat dit stukje er direct onder, hij stuurt je dus door naar de pagina waar je vandaan komt. (in dit geval nieuwsbriefprospect)

ik heb het nu opgelost door ze beide in 1 variabele te proppen gescheiden door een |-teken.
echt raar dat het niet werkt met 2 cookies

[ Voor 4% gewijzigd door Verwijderd op 22-09-2003 16:01 ]

Pagina: 1