Gjest Skrevet 13. mai 2009 Del Skrevet 13. mai 2009 (endret) Hei!Får følgende error: Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /home3/mathiass/public_html/****/includes/admin23/dbconnect23.php:5) in /home3/mathiass/public_html/****/includes/checklogin.php on line 25 Endret 25. desember 2013 av Gjest Lenke til kommentar
Gjest Skrevet 13. mai 2009 Del Skrevet 13. mai 2009 Til alle som får problemet: Sørg for at session_start(); er i toppen av koden. Og pass på at INGEN ting er før den Lenke til kommentar
OIS Skrevet 13. mai 2009 Del Skrevet 13. mai 2009 Til alle som får problemet:Sørg for at session_start(); er i toppen av koden. Og pass på at INGEN ting er før den Nja. Pass på at ingenting blir sendt til klienten før du kaller session_start(). Den vil sette et header for å lage cookie til PHPSESSID eller hva du kaller den. Det samme gjelder for alle andre headere du vil sende (som location for redirect). Lenke til kommentar
Gjest Skrevet 13. mai 2009 Del Skrevet 13. mai 2009 (endret) Tråden er ikke løst Jeg har det slik:index.php --> Hente språk etter det du har valgt --> Henter fil etter det du har valgt --> Printer ut filen du har valgt fra menyen til en <div> ---> Filen henter alle språk variablene fra en array.Problemet er er dette: Warning: Cannot modify header information - headers already sent by (output started at /home3/mathiass/public_html/mikaelf/lang/no.php:7) in /home3/mathiass/public_html/mikaelf/includes/sider/logout.php on line 4I den ser du blandt annet: no.php det vil si en språk fil. På linje 7 er det:<?php Det jeg prøver å gjøre i logout.php:<?php session_unset(); session_destroy(); header( "Location: http://www.****.*****com/index.php?page=login" ); ?> Jeg vil loge ut og sende deg automatisk til login siden igjen.Men det går tydelig hvis ikke. What to do? Endret 25. desember 2013 av Gjest Lenke til kommentar
OIS Skrevet 13. mai 2009 Del Skrevet 13. mai 2009 (endret) I den ser du blandt annet: no.php det vil si en språk fil. På linje 7 er det: <?php Alt før første <?php og alt mellom ?> og <?php blir sendt til klienten. Da sendes alle headere også og du kan ikke sende flere. Så, korfor har du en <?php på linje 7? En "fiks" er å bruke output buffering (ob_start). Det har mange fordeler, men det kan være greit å rydde kode allikevel. Endret 13. mai 2009 av OIS Lenke til kommentar
Gjest Skrevet 13. mai 2009 Del Skrevet 13. mai 2009 Hei! index.php --> Hente språk etter det du har valgt --> Henter fil etter det du har valgt --> Printer ut filen du har valgt fra menyen til en <div> ---> Filen henter alle språk variablene fra en array og det er her jeg har <?php. <?php session_start(); ?> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> </head> <?php $lang = array( 'lang-id' => "no", // // Gjestebok // // Skriv nytt innlegg: 'gjestebok_navn' => 'Ditt navn:', 'gjestebok_email' => 'Din email:', 'gjestebok_kommentar' => 'Ditt innlegg:', // Gjestebok Innlegg 'gjestebok_tekst' => 'Gjesteboka!', 'gjestebok_add' => 'Legg igjen en kommentar!', 'gjestebok_navn2' => 'Skrevet av:', 'gjestebok_email2' => 'Email:', 'gjestebok_kommentar2' => 'Kommentar:', // Gjestebok Enkelt innlegg 'gjestebok_enkelt_innlegg' => 'Du viser nå innlegget med ID:', 'gjestebok_enkelt_innlegg2' => 'Klikk her for å se alle innleggene', // Gjestebok admin 'gjestebok_delete' => 'Slett ', 'gjestebok_delete2' => 'Posten ble slettet ', 'gjestebok_delete3' => 'Klikk her for å gå tilbake', 'gjestebok_edit' => 'Endre', // // Menu // 'menu' => 'Hjem<br /> Admin<br /> Gjestebok', // // Footer // 'footer_left' => 'Velg språk:', 'footer_center' => 'Copyright © 2009 - Mikael | Siste oppdatering: 10 - Mai - 2009', ); ?> Språk filen nå ^^ Lenke til kommentar
OIS Skrevet 14. mai 2009 Del Skrevet 14. mai 2009 Korfor har du header data i språk filen din? Her er det blanding av to forskjellige ting. Slik ville eg lagd språk filen din: <?php return array( 'lang-id' => "no", // // Gjestebok // // Skriv nytt innlegg: 'gjestebok_navn' => 'Ditt navn:', 'gjestebok_email' => 'Din email:', 'gjestebok_kommentar' => 'Ditt innlegg:', // Gjestebok Innlegg 'gjestebok_tekst' => 'Gjesteboka!', 'gjestebok_add' => 'Legg igjen en kommentar!', 'gjestebok_navn2' => 'Skrevet av:', 'gjestebok_email2' => 'Email:', 'gjestebok_kommentar2' => 'Kommentar:', // Gjestebok Enkelt innlegg 'gjestebok_enkelt_innlegg' => 'Du viser nå innlegget med ID:', 'gjestebok_enkelt_innlegg2' => 'Klikk her for å se alle innleggene', // Gjestebok admin 'gjestebok_delete' => 'Slett ', 'gjestebok_delete2' => 'Posten ble slettet ', 'gjestebok_delete3' => 'Klikk her for å gå tilbake', 'gjestebok_edit' => 'Endre', // // Menu // 'menu' => 'Hjem<br /> Admin<br /> Gjestebok', // // Footer // 'footer_left' => 'Velg språk:', 'footer_center' => 'Copyright © 2009 - Mikael | Siste oppdatering: 10 - Mai - 2009', ); Merk ingen ?> så vi ikke sender noe data og dermed ikke kan endre headere. Denne språkfilen inkluderes på følgende måte: $sprak = require('no_NB.php'); Og hvis du vil kunne endre headere (som ved redirect) så må du ikke sende noe. En god regel er: hvis du har ?>i en fil vil den sende data (hvis du ikke bruker output buffering). (Dette er det samme som at et skytevåpen er alltid ladet). Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå