[php] Cookies worden niet geset

Pagina: 1
Acties:
  • 32 views sinds 30-01-2008

  • Massiefje
  • Registratie: Mei 2002
  • Laatst online: 14-08 22:00
Ik heb de laatste php versie geinstalleerd op mijn Windows 2003 Server. In feite werkt PHP zonder problemen, maar ik zit nu met iets, waar ik niet uitkom.

Als ik session_start() gebruik, worden er geen cookies geset. Als ik handmatig setcookie() gebruik, gebeurt er ook niets. Geen foutmelding, maar ook geen cookie.

In mijn php.ini staan alle settings voor zover ik weet goed. Ook mijn browser werkt en uiteraard al op verschillende browsers getest.

Register_globals staat uit, dus ik werk niet met standaard $variabelen, maar $HTTP_POST_VARS['variabelen'].

Iemand enig idee waar dit aan ligt ? Dit moet toch ook mogelijk zijn op een Windows machine, ipv Apache ?

Verwijderd

Dit moet toch ook mogelijk zijn op een Windows machine, ipv Apache ?
Dit klopt van geen kant, PHP kan draaien onder windows op IIS of Apache.
Zoals jij die zin schrijft is het net of dat Apache een OS is, wat het dus niet is.
[/miereneukermodus]

Ik gebruik hier lokaal de laatste verise van PHPTriad(apache+php), daarin zit een wat oudere php versie. Als ik hiermee een session_start of setcookie geef dan slaat hij deze wel op. Overigens heb ik PHP nooit getest icm IIS(teminste ik neem aan dat je dat gebruikt).

Geef eens wat meer info over wat wie en waar, want hier kunnen we niet veel mee(iig ik niet).

  • Massiefje
  • Registratie: Mei 2002
  • Laatst online: 14-08 22:00
Verwijderd schreef op 10 november 2003 @ 11:45:
[...]

Dit klopt van geen kant, PHP kan draaien onder windows op IIS of Apache.
Zoals jij die zin schrijft is het net of dat Apache een OS is, wat het dus niet is.
[/miereneukermodus]

Ik gebruik hier lokaal de laatste verise van PHPTriad(apache+php), daarin zit een wat oudere php versie. Als ik hiermee een session_start of setcookie geef dan slaat hij deze wel op. Overigens heb ik PHP nooit getest icm IIS(teminste ik neem aan dat je dat gebruikt).

Geef eens wat meer info over wat wie en waar, want hier kunnen we niet veel mee(iig ik niet).
Als ik zeg "op een Windows Machine" dan bedoel ik uiteraard IIS. Apache is geen OS, dat weet ik ook wel.

Wat valt er verder nog te melden ? Laatste versie PHP, IIS6, PHP werkt, sessions niet, browser is goed geconfigureerd, alle cookies worden altijd en overal toegelaten, maar bij mijn interne sites dus (nog) niet.

de site waarmee ik test is heel simpel een index.php waarin staat session_start();
en meer niet. Volgens de specificaties zou hij dan een cookie moeten aanmaken, maar dat gebeurt dus niet.

  • Suepahfly
  • Registratie: Juni 2001
  • Laatst online: 13-08 14:09
Je moet altijd een path mee geven in je cookie, ik heb het zelfde probleem gehad.

Lijkt te werken:
PHP:
1
setcookie("naam",$cookiedata,time+3600,"/");


Werkt niet
PHP:
1
setcookie("naam",$cookiedata,time+3600);


Om te kijken of er een cookie geset worrdt kun je het beste een programma pakken wat de raw http headers weer geeft. Ik zelf gebruik de httplog van Proxomitron.
Maar Mozilla kan dit dacht ik ook.


edit:

Kijk ook even bij de tools > internet properties > privacy
Het zou kunnen zijn dat IE je cookies blockt.

[ Voor 17% gewijzigd door Suepahfly op 10-11-2003 12:26 ]


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 17-08 23:56

Janoz

Moderator Devschuur®

!litemod

Zet je status balk in IE even aan. Daarin komt een icoontje te staan waneer een cookie niet wordt geaccepteerd. Als dit gebeurt heb je waarschijnlijk wat fouten gemaakt met de instellingen van php en/of iis.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • Massiefje
  • Registratie: Mei 2002
  • Laatst online: 14-08 22:00
Suepahfly schreef op 10 november 2003 @ 12:21:
Je moet altijd een path mee geven in je cookie, ik heb het zelfde probleem gehad.

Lijkt te werken:
PHP:
1
setcookie("naam",$cookiedata,time+3600,"/");


Werkt niet
PHP:
1
setcookie("naam",$cookiedata,time+3600);


Om te kijken of er een cookie geset worrdt kun je het beste een programma pakken wat de raw http headers weer geeft. Ik zelf gebruik de httplog van Proxomitron.
Maar Mozilla kan dit dacht ik ook.


edit:

Kijk ook even bij de tools > internet properties > privacy
Het zou kunnen zijn dat IE je cookies blockt.
Dit ga ik sowieso vanavond even proberen. Mocht het niet werken, dan horen jullie het vanavond of morgen, want mijn ideetjes raken op. Volgens mij hebbik bovenstaande ook al geprobeerd, maar zonder succes...........

  • Roa
  • Registratie: December 2002
  • Laatst online: 03-07-2024

Roa

Probeer in je instellingen van je privacy even aan te zetten dat je voor ieder koekje een bevestiging moet geven, dan krijg je een melding van IE dat je script een koekje wil zetten, dan weetje of hij werkt of niet..

Research is what I'm doing when I don't know what I'm doing.


  • Massiefje
  • Registratie: Mei 2002
  • Laatst online: 14-08 22:00
Het wil dus op geen enkele mogelijkheid werken. En als ik privacy settings omlaag haal en laat vragen zodra er een cookie geset wil worden, dan gebeurt er dus ook niets.

Ik gebruik de volgende code:
PHP:
1
2
3
4
5
<?php
  session_start();
  $HTTP_SESSION_VAR['user'] = "Massiefje";
  setcookie("mycookie", "my_id", time()+3600, "/");
?>


En dat geeft geen foutmeldingen, maar zodra ik de volgende code gebruik:

PHP:
1
2
3
4
5
<?php
  $cookieInfo = session_get_cookie_params();
  echo $cookieInfo['domain'];
  echo $HTTP_SESSION_VAR['user'];
?>


Dan verwacht ik het domein én Massiefje te zien. Massiefje zie ik, domein dus niet.

Iemand nog tips ?

[ Voor 9% gewijzigd door Massiefje op 10-11-2003 18:53 ]


  • Massiefje
  • Registratie: Mei 2002
  • Laatst online: 14-08 22:00
*SCHOP*

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 17-08 23:56

Janoz

Moderator Devschuur®

!litemod

Hoe heb je je domein ingesteld in je webserver, en op wat voor omgeving test je?

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • Massiefje
  • Registratie: Mei 2002
  • Laatst online: 14-08 22:00
Janoz schreef op 11 november 2003 @ 09:33:
Hoe heb je je domein ingesteld in je webserver, en op wat voor omgeving test je?
Ik werk dus (zie posts hierboven) met IIS6, op Windows 2003 Server. Er draaien verschillende domeinen, allemaal op 1 ip-adres, gebruik makend van hostheaders.

  • Massiefje
  • Registratie: Mei 2002
  • Laatst online: 14-08 22:00
Heeft er nou niemand een goed antwoord ? :'(

[ Voor 4% gewijzigd door Massiefje op 11-11-2003 11:08 ]


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 17-08 23:56

Janoz

Moderator Devschuur®

!litemod

Kicken doen we niet binnen 24uur. De eerste keer heb ik nog door de vingers gezien (zat een nacht tussen) maar nu wordt het wel een beetje te gek.

Dat cookies in jouw testomgeving niet werken geeft aan dat er in je test omgeving iets niet klopt. Het ligt dus waarschijnlijk niet eens aan je code. Vragen over extra informatie over je testomginving worden maar sumier beantwoord wat het helpen ook niet echt ten goede komt.

Kortom, zoals het nu loopt lijkt me het een redelijk kansloos topic. Geen PW (wat setting probleem waarschijnlijk) Weinig info en ook nog kicken zorgen ervoor dat dit topic word bedeeld met wat ijzerwerk.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'

Pagina: 1

Dit topic is gesloten.