01. februar 2005 - 14:47Der er
3 kommentarer og 1 løsning
Session på localhost
Jeg har siddet på min skole og lavet et lille login system med mySQL og sessions. Jeg brugte min gratis side på 1go til at teste og det virkede fint. Men da jeg så kom hjem og henter det ned på min localhost for at arbejde videre får jeg følgende fejl på alle de sider hvor jeg bruger sessions:
Warning: Cannot send session cache limiter - headers already sent (output started at c:\apache\htdocs\dave\index.php:16) in c:\apache\htdocs\dave\upload.php on line 2
Warning: Cannot add header information - headers already sent by (output started at c:\apache\htdocs\dave\index.php:16) in c:\apache\htdocs\dave\upload.php on line 4
Skal jeg ændre opsætningen af min localhost for at det virker eller hvad skal jeg gøre?
OK det prøver jeg når jeg kommer hjem senere. Kan du give en forklaring på hvorfor det det ellers virker online og ikke lokalt, og hvad det script præcis gør? Jeg har det dårligt med bare at paste noget ind som jeg ikke ved hvad gør ;)
Når du første gang sender 'output' til klienten, fx når der står noget html-kode, eller når du udskriver noget med echo (og det behøver bare være et mellemrum i starten af din side, eller en tom linie), så mister du muligheden for at sende header()e, da disse SKAL sendes FØR 'output'. Ved den metode jeg gav dig, smider du alt dit 'output' i en buffer, derefter kan du sende header()e overalt i dit script lige så tosset du vil, og til SIDST tømmer du bufferen og sender alt indholdet til klienten.
Alternativet ville være at organisere dit script så alle header()e sendes først, men det kan godt være svært.
Outbut bufferen kan bruges til rigtig mange smarte ting (fx tømmes og fyldes op med anden kode ved en fejl), du bør virkelig tjekke den ud!
Grunden til at det virker det første sted kan være, at de har aktiveret output bufferen i PHP.INI, så du ikke behøver at gøre det selv.
Takker for point :)
Synes godt om
Ny brugerNybegynder
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.