Avatar billede sansalvador Nybegynder
24. marts 2003 - 18:07 Der er 9 kommentarer og
1 løsning

Header & cookie problem

Hvad sker der her?

Warning: Cannot modify header information - headers already sent by (output started at /home/web/gb2417/index.php:22) in /home/web/gb2417/logsystem.php on line 45

index.php linie 22:
<td width=800 height=24 background="img\layout\menu.jpg" valign="top"><table width="800"><tr><td align="left"><font face="verdana" color="white" size=1>

logsystem.php linie 45:
setcookie("cookie_status", $logindstatus,time()+3600);


Hvad er der galt?
Avatar billede schaefner Juniormester
24. marts 2003 - 18:08 #1
setcookie(); skal stå før du udskriver noget til brugeren. Før <html>
Avatar billede fangel Nybegynder
24. marts 2003 - 18:16 #2
prøv at lav en
ob_start(); i starten (HELT i toppen, lige efter <?php) af siden

og
ob_end_flush(); i bunden af siden...

men som schaefner siger, så er det nemmere bare at flytte linien med cookie() i op før der udskrives noget tekst...

Morten
Avatar billede boris Mester
24. marts 2003 - 18:22 #3
Vær opmærksom på, at sessionscookier fungerer forskelligt på forskellige PHP servere. Det der virker perfekt på den ene, behøver slet ikke at virke på den anden.
Når det er sagt, så skal du altid sætte cookierne som det allerallerførste i scriptet. Det er korrekt, at når headerne først er lavet, er det for sent at sætte cookier.
Avatar billede sansalvador Nybegynder
24. marts 2003 - 19:42 #4
Jæs ...

Men så kommer dette problem:

Warning: Unknown(): Your script possibly relies on a session side-effect which existed until PHP 4.2.3. Please be advised that the session extension does not consider global variables as a source of data, unless register_globals is enabled. You can disable this functionality and this warning by setting session.bug_compat_42 or session.bug_compat_warn to off, respectively. in Unknown on line 0

Jeg er hostet af www.web10.dk ...
Avatar billede boris Mester
24. marts 2003 - 20:14 #5
Jeg har haft det samme problem med en større hjemmeside, som skulle flytte til en anden udbyder med en anden PHP, hvor det gik galt på samme måde. I stedet for at skrive  logon siderne helt om valgte vi at lade tingene blive hvor de var, nemlig hos Worldofline.
Avatar billede boris Mester
24. marts 2003 - 20:19 #6
På den anden side så er det jo nok den nye PHP der er fremtiden.....
Avatar billede sansalvador Nybegynder
25. marts 2003 - 17:54 #7
jamn hvordan gør man det på den "nye" måde? .. Jeg er helt blank ....
Avatar billede schaefner Juniormester
25. marts 2003 - 17:56 #8
Dette ville være den korrekte måde at gøre det på:

<?php
setcookie("cookie_status","$logindstatus",time()+3600);
?>
<html>
<head></head>

<body>

Selve siden

</body>
</html>
Avatar billede sansalvador Nybegynder
25. marts 2003 - 18:14 #9
Det virker fint ... men det er bare når jeg reloader siden .. så er det hele "glemt" ...

Og jeg bruger endda disse strenge, som burde løse problemet:

$HTTP_GET_VARS = $_GET;
$HTTP_POST_VARS = $_POST;
$HTTP_SERVER_VARS = $_SERVER;
$HTTP_COOKIE_VARS = $_COOKIE;
                   
extract($_GET);
extract($_POST);
extract($_SERVER);
extract($_COOKIE);

Men nej ... det er ligesom, at den ikke vil gemme cookien i længere tid ...
Avatar billede sansalvador Nybegynder
25. marts 2003 - 18:21 #10
Okay .. fandt ud af det ... Var bare en mindre misforståelse af cookies .. :)

Tak, og chæf der .. du hjalp også en del med at lægge cookies øverst på¨siden .. takker :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester