SESSION problem!

Tags:    php

Når jeg kører denne kode:

Fold kodeboks ind/udKode 


Får jeg denne fejl:
Fold kodeboks ind/udKode 


Hvad skal jeg gøre for at løse problemmet?




5 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 5 karma
Sorter efter stemmer Sorter efter dato
session_start(); skal ikke komme lige efter at du starter php, den skal bare komme før du sender noget tilbage til browseren, det betyder at din kode i connect.php ikke må sende noget til browseren når den bliver indlæst, altså skal den starte med <? og slutte med ?> uden nogen tegn før eller efter, ligeledes må der heller ikke være nogen tegn før <?php i den kode du viser.

linie skift er også et tegn.

PS du kan jo prøve at udkommentere din require hvis din fejl så rykker sig ned må det jo være fordi at connect.php sender noget tilbage til browseren.



Indlæg senest redigeret d. 02.08.2007 10:58 af Bruger #5620
Når jeg kører denne kode:

Fold kodeboks ind/udKode 


Får jeg denne fejl:
Fold kodeboks ind/udKode 


Hvad skal jeg gøre for at løse problemmet?


Umiddelbart skal du prøve at rette din kode så session_start() kommer lige efter php startes.

ala:

Fold kodeboks ind/udKode 


Med andre ord: prøv at flytte session_start() til øverst i din kode.

Det lyder som om du laver noget output før du starter din session - og det er ikke godt.
Hvis du skal lave output før din session startes (og det er underligt hvis du _skal_ det) så kan du bruge ob_start()



Indlæg senest redigeret d. 02.08.2007 10:41 af Bruger #4683
Tak, Nørden! :D




session_start(); skal ikke komme lige efter at du starter php, den skal bare komme før du sender noget tilbage til browseren, det betyder at din kode i connect.php ikke må sende noget til browseren når den bliver indlæst, altså skal den starte med <? og slutte med ?> uden nogen tegn før eller efter, ligeledes må der heller ikke være nogen tegn før <?php i den kode du viser.

linie skift er også et tegn.

PS du kan jo prøve at udkommentere din require hvis din fejl så rykker sig ned må det jo være fordi at connect.php sender noget tilbage til browseren.


Jeg sagde ikke, at session_start() skal komme lige efter php-startes. Jeg sagde bare at det er en god ide at lægge den øverst, da man ikke skal tænke på ikke at smide output før.

Jeg synes at det er rart, at man under debugging ikke skal tænke på hvornår man sende output i forhold til sessionen.

Desuden er short tags og script tags frarådet, hvorfor man bør anvende "<?php" når man starter php.





nå ja for at bruge dit eget forsvar sagde jeg intet om at du sagde det skulle jeg sagde bare at det ikke skulle og jeg sagde heller intet om hvad han skulle skrive efter <? sagde kun at han skulle starte med det og <?php starter jo med <?. :D



t