[PHP] Cookie naar andere pagina

Pagina: 1
Acties:

  • Kaastosti
  • Registratie: Juni 2000
  • Laatst online: 22-08 10:27

Kaastosti

Vrolijkheid alom!

Topicstarter
Er zijn al flink wat posts over cookies en ook op php.net en andere resources is er veel over te vinden, maar toch kom ik er niet uit.

Ik heb het volgende:
code:
1
2
3
4
5
6
7
8
9
//pagina1.php
$subscriber = true;
SetCookie('login_check', $subscriber);
if(isset($_COOKIE['login_check'])){
   echo "Cookie info: $_COOKIE[login_check]";
}
else{
   echo "Foutje bij het bakken";
}

Als ik deze pagina bekijk krijg ik als resultaat op het scherm:
Cookie info: 1

code:
1
2
3
4
5
6
7
8
//pagina2.php
echo $_COOKIE['login_check'];
if(isset($login_check)){
    echo "COOKIE WERKT";
}
else{
    echo "ERROR";
}

Bij deze krijg ik meteen als resultaat:
Notice: Undefined index: login_check in c:\www\forum\check.php on line 2
ERROR

Kennelijk is hij het dus niet met mee eens dat die cookie er is. De waarde die wordt meegegeven gaat het me nu niet om, het gaat er om dat ie kan controleren of die cookie aanwezig is.

Waarom werkt dit niet?

Een vergissing is menselijk, maar om er echt een puinhoop van te maken heb je een computer nodig.


Verwijderd

Staan de pagina's in dezelfde directory?

  • Kaastosti
  • Registratie: Juni 2000
  • Laatst online: 22-08 10:27

Kaastosti

Vrolijkheid alom!

Topicstarter
Yup...
/www/forum/login.php en
/www/forum/check.php
Ik vraag me overigens af waar ie die cookie neerzet, want ik hem 'm nog niet kunnen vinden

Een vergissing is menselijk, maar om er echt een puinhoop van te maken heb je een computer nodig.


Verwijderd

In sommige browsers doen cookies zonder ingestelde expire date het niet...

Misschien is dat 't probleem?

  • Kaastosti
  • Registratie: Juni 2000
  • Laatst online: 22-08 10:27

Kaastosti

Vrolijkheid alom!

Topicstarter
IE6.0 ..maar ik kan het proberen
... als ik ,time()+1800 toevoeg helpt dat niets... helaas

Maar als ik het goed begrijp zien jullie dus geen fouten in de code?
Of zit ik gewoon mis met de werking van cookies?

Een vergissing is menselijk, maar om er echt een puinhoop van te maken heb je een computer nodig.


  • eXtReMeBiE
  • Registratie: Februari 2002
  • Laatst online: 26-08 10:42
code:
1
2
3
4
5
6
7
8
//pagina2.php
echo $_COOKIE['login_check'];
if(isset($login_check)){
    echo "COOKIE WERKT";
}
else{
    echo "ERROR";
}

Ik zal hier wel een domme opmerking maken, maar volgens mij ben je een " vergeten bij:
echo $_cookie['login_check']; bovenaan.... kan dat het zijn?

  • Kaastosti
  • Registratie: Juni 2000
  • Laatst online: 22-08 10:27

Kaastosti

Vrolijkheid alom!

Topicstarter
Leuk idee, maar helaas, dat is het niet :)
Ik krijg meteen al het bericht dat login_check niet geldig is... op een of andere manier kan ie die dus niet ophalen/vinden.

Een vergissing is menselijk, maar om er echt een puinhoop van te maken heb je een computer nodig.


Verwijderd

Nope :)

'echo' mag je zonder quotes gebruiken, mits je een variabele/array/object/functie enz. wilt afdrukken.

  • eXtReMeBiE
  • Registratie: Februari 2002
  • Laatst online: 26-08 10:42
thx, dat wist ik niet, weer wat geleerd :)

  • Kaastosti
  • Registratie: Juni 2000
  • Laatst online: 22-08 10:27

Kaastosti

Vrolijkheid alom!

Topicstarter
echo met "" is alleen handig als je voor/achter je variabele/array/object/functie nog tekst wil zetten. Of natuurlijk als je tussen een lap php even snel een html tag gebruikt, want om dan php af te sluiten met ?>, een tag te geven en dan weer te <? openen is ook niet erg tof :)

Maar feit blijft... het werkt niet.

Kan iemand niet even een lapje code zeerzetten die het zou moeten doen?
cookie aanmaken op pagina1 en uitlezen op pagina2, dan kom ik er wel weer uit :)

Een vergissing is menselijk, maar om er echt een puinhoop van te maken heb je een computer nodig.


  • Kaastosti
  • Registratie: Juni 2000
  • Laatst online: 22-08 10:27

Kaastosti

Vrolijkheid alom!

Topicstarter
Hmmm zeer verrassend... hij werkt spontaan... ik zie alleen niet wat ik veranderd heb :?

Een vergissing is menselijk, maar om er echt een puinhoop van te maken heb je een computer nodig.


Verwijderd

Mag eerste weten welke PHP versie je gebruikt?

Verwijderd

Doe het eens zo:

echo "$_COOKIE[login_check]";

if(isset($_COOKIE[login_check])){
echo "COOKIE WERKT";
}
else{
echo "ERROR";
}

  • Kaastosti
  • Registratie: Juni 2000
  • Laatst online: 22-08 10:27

Kaastosti

Vrolijkheid alom!

Topicstarter
Ik gebruik PHP v4.2.3
Het werkt inmiddels, en ik heb volgens mij ook bovenstaande code in gebruik :)

Een vergissing is menselijk, maar om er echt een puinhoop van te maken heb je een computer nodig.


  • PrinsEdje80
  • Registratie: Oktober 2001
  • Laatst online: 01-01 15:26

PrinsEdje80

Holographic, not grated...

Vreemd... anders zou je misschien nog tussendoor kunnen toevoegen:
PHP:
1
2
3
$login_check = $_COOKIE[login_check];
//en dan ipv $_COOKIE te gebruiken
//$login_check e.d.

Used to be Down Under... Foto gallery


  • Kaastosti
  • Registratie: Juni 2000
  • Laatst online: 22-08 10:27

Kaastosti

Vrolijkheid alom!

Topicstarter
Hmmm zeer verrassend... hij werkt spontaan...
Hij werkt dus al :)
Met if(isset($_COOKIE['login_check'])){ dus

Een vergissing is menselijk, maar om er echt een puinhoop van te maken heb je een computer nodig.

Pagina: 1