[PHP] IE6 - session - probleem

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Daggie
  • Registratie: Juni 2002
  • Laatst online: 13-08 20:48
Ik heb een news.php pagina gemaakt

onderaan staat er "voegtoe". Dit roept een functie "voegtoe" op, het eerste dat in deze functie gebeurt is een include van mijn "sessie"-bestand (in dit bestand zit login+pass check, aangezien niet iedereen mag nieuws toevoegen)

Op IE5 en Mozilla werkt alles probleemloos. IE6 geeft echter warnings :


Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at XXX/inc_db.php:8) in XXX/login.php on line 2

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at XXX/inc_db.php:8) in XXX/daggie/login.php on line 2


in inc_db.php staat de connectie naar de databank, voor de rest staat er niets anders, dus enkel usename/pass/db

login.php gebruik ik voor de sessie's

Iemand een idee waarom IE6 het niet wilt doen zonder warnings ? Ik dacht ergens gelezen te hebben dat IE6 standaard geen cookies aanvaard en IE5 nog wel, maar ik kan mij daar in vergissen

Acties:
  • 0 Henk 'm!

  • DeMoN
  • Registratie: Maart 2001
  • Laatst online: 04-09 12:38

DeMoN

Pastafari

Ik zou zeggen, kijk ff al je security settings na in je IE 6. Ik denk toch echt dat die wat te strak staan qua "cookie accepting".

[ Voor 6% gewijzigd door DeMoN op 24-06-2003 17:09 ]

Gamertag: Cosmicv0id
"Het woord Gods is voor mij niets meer dan een expressie en het product van menselijke zwakheid. De Bijbel is een verzamelwerk van legendes die achtenswaardig zijn maar ook primitief en kinderachtig.'' - Albert Einstein


Acties:
  • 0 Henk 'm!

  • bigtree
  • Registratie: Oktober 2000
  • Laatst online: 16-08 17:16
Het is geen cookie-probleem. Er wordt output gegenereert voor php die cookie-header moet sturen. Kan ook een enter of een spatie zijn. Goed zoeken.

Lekker woordenboek, als je niet eens weet dat vandalen met een 'n' is.


Acties:
  • 0 Henk 'm!

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

curry684

left part of the evil twins

Cookie-acceptance kun je simpelweg testen door je host tijdelijk aan de 'Trusted Sites' toe te voegen. IE6 is wel strakker met cookie policies maar niet 'anti-cookies' als geheel.

Professionele website nodig?


Acties:
  • 0 Henk 'm!

  • Exigence
  • Registratie: Juli 2001
  • Laatst online: 12:42

Exigence

dnkroz

edit: onzin

[ Voor 92% gewijzigd door Exigence op 24-06-2003 17:23 ]


Acties:
  • 0 Henk 'm!

  • Daggie
  • Registratie: Juni 2002
  • Laatst online: 13-08 20:48
Ik zou zeggen, kijk ff al je security settings na in je IE 6. Ik denk toch echt dat die wat te strak staan qua "cookie accepting".
het probleem deed zich niet alleen bij mij voor, overigens staat mijn IE6 volledig standaard, aangezien ik IE niet gebruik
Het is geen cookie-probleem. Er wordt output gegenereert voor php die cookie-header moet sturen. Kan ook een enter of een spatie zijn. Goed zoeken.
Het lijkt mij zoiets, maar waar moet ik juist zoeken ?

Acties:
  • 0 Henk 'm!

  • RedRose
  • Registratie: Juni 2001
  • Niet online

RedRose

Icebear

Daggie schreef op 24 juni 2003 @ 17:31:
het probleem deed zich niet alleen bij mij voor, overigens staat mijn IE6 volledig standaard, aangezien ik IE niet gebruik

Het lijkt mij zoiets, maar waar moet ik juist zoeken ?
Ik zou output buffering in combinatie met headers_sent() gebruiken voor dit soort dingen. Dan zie je direct of je al een header hebt gestuurd of dat hij al is verstuurd en heb je geen last van eventuele per ongeluk echo's of whitespace e.d. :)

[ Voor 6% gewijzigd door RedRose op 24-06-2003 17:45 . Reden: duidelijker :? ]

Sundown Circus


Acties:
  • 0 Henk 'm!

Verwijderd

dit omzeilen door bovenaan login.php de volgende regel te zetten:
<? ob_start(); ?>
het is hier misschien niet voor, maar het werkt wel. zo kan je altijd en overal cookies zetten/sessions maken/headers aanmaken

Acties:
  • 0 Henk 'm!

  • bigtree
  • Registratie: Oktober 2000
  • Laatst online: 16-08 17:16
Daggie schreef op 24 June 2003 @ 17:31:
Het lijkt mij zoiets, maar waar moet ik juist zoeken ?
duh:
output started at XXX/inc_db.php:8
Regel 8 van XXX/inc_db.php misschien? Ik gok zo dat er een spatie of een enter achter je ?> staat in dat bestandje.

Lekker woordenboek, als je niet eens weet dat vandalen met een 'n' is.


Acties:
  • 0 Henk 'm!

  • Daggie
  • Registratie: Juni 2002
  • Laatst online: 13-08 20:48
inc_db.php telt 5 regels ... en geen whitespaces achter, het is trouwens identiek dezelfde (op login/db gegevens na) als wat ik altijd al zonder problemen gebruik.

ik zal de ob_start test maar eens uitvoeren

al bedankt voor de hulp alleszins

Acties:
  • 0 Henk 'm!

  • bigtree
  • Registratie: Oktober 2000
  • Laatst online: 16-08 17:16
Daggie schreef op 25 June 2003 @ 14:56:
inc_db.php telt 5 regels ... en geen whitespaces achter, het is trouwens identiek dezelfde (op login/db gegevens na) als wat ik altijd al zonder problemen gebruik.

ik zal de ob_start test maar eens uitvoeren

al bedankt voor de hulp alleszins
Weet je 100% zeker dat de versie die op de server staat ook maar 5 regels telt? Het wil er bij mij niet in dat PHP tegenwoordig liegt. Als hij zegt:
output started at XXX/inc_db.php:8
dan mag je toch echt aannemen dat het zo is.

Lekker woordenboek, als je niet eens weet dat vandalen met een 'n' is.


Acties:
  • 0 Henk 'm!

  • Daggie
  • Registratie: Juni 2002
  • Laatst online: 13-08 20:48
Versie op server had er idd 8 waarvan 2 witregels

was ik blijkbaar vergeten uploaden somehow ... maar het probleem is er nog steeds (zei iemand mij, ik zal straks wel ff naar windows rebooten)

Acties:
  • 0 Henk 'm!

  • Daggie
  • Registratie: Juni 2002
  • Laatst online: 13-08 20:48
de fout is lichtjes gewijzigd ...

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /XXX/news.php:6) in /XXX/login.php on line 2

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /XXX/news.php:6)
in /XXX/login.php on line 2

in login.php op lijn 1,2,3 staat :

<?
session_start();
if ($_session[login] == "true) {}
else ...

In IE 5.0, Mozilla 1.3, Mozilla 1.0 en Konqueror 3.1.2 gaat alles perfect zoals het moet, alleen IE6.0 geeft warnings ...

Acties:
  • 0 Henk 'm!

  • bigtree
  • Registratie: Oktober 2000
  • Laatst online: 16-08 17:16
output started at /XXX/news.php:6

(ezel... steen...)

Lekker woordenboek, als je niet eens weet dat vandalen met een 'n' is.


Acties:
  • 0 Henk 'm!

  • Daggie
  • Registratie: Juni 2002
  • Laatst online: 13-08 20:48
op regel 4-5-6-7 staan HTML dingen die niets te maken hebben met php ...

<link href="default.css" rel="stylesheet" type="text/css"> is regel 6 ...


(ps : I just started ..)

Acties:
  • 0 Henk 'm!

  • bigtree
  • Registratie: Oktober 2000
  • Laatst online: 16-08 17:16
There you have it. HTML = output. Daarna kun je geen headers/cookies meer versturen.

Ik stel voor dat je eerst eens een stukje uit de manual gaat lezen. Daar staat bijvoorbeeld dit:
Zoals elke header moeten cookies verzonden worden voordat er output verzonden wordt vanuit je script (dit is een restrictie van het protocol). Daarom moet je deze functie aanroepen voor enige output, zoals <html> of <head> tags en whitespace.

Lekker woordenboek, als je niet eens weet dat vandalen met een 'n' is.


Acties:
  • 0 Henk 'm!

  • Daggie
  • Registratie: Juni 2002
  • Laatst online: 13-08 20:48
problem solved, tnx bigtree
Pagina: 1