Gå til innhold

Feilmelding i php comment script


Anbefalte innlegg

Holder på å legger inn et comment script på siden min, men så får jeg opp en feilmelding øverst på siden som jeg ikke skjønner så mye av.

 

Feilmeldingen er som følger:

 

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /home/www/filmbloggen.freehostia.com/cry_wolf.php:9) in /home/www/filmbloggen.freehostia.com/comment/include/session.class.inc.php on line 69

 

Noen som vet hva jeg må gjøre for å fikse det?

 

Sikkert et dumt spørsmål jeg kommer med her nå, men er helt grønn på dette feltet.

Lenke til kommentar
Videoannonse
Annonse

fjern session start fra linje 69 og sett den først i filen etter <?php.

 

edit: det er ikke sikkert det løser problemet. det ser ut som du inkluderer session.class.inc.php fra cry_wolf.php. dersom output skrives fra cry_wolf.php før session.class.inc.php blir inkludert får du samme feilen igjen. session_start(); sender headere med cookie informasjon til klienten. headere _må_ sendes før output. sett session_start(); først i siden du prøver å åpne når du får feilen og fjern den andre steder.

Endret av grimjoey
Lenke til kommentar
fjern session start fra linje 69 og sett den først i filen etter <?php.

 

Er du så sikker på at det blir bra da?

 

Den står sammen med dette:

 

	function sess_start($sess_id = 0, $sess_name = '')
{		
	if (session_id() == '') {
		session_set_cookie_params(false, '/');
		session_start();
	}

	if (!isset($_SESSION[$this->session_vars_name])) {
		$_SESSION[$this->session_vars_name] = array();
	}

	$this->session_vars = $_SESSION[$this->session_vars_name];
}

Lenke til kommentar

Ok.

 

Rart at det var slik da. Har ikke gjort noen endringer på det etter at jeg lastet det ned.

 

EDIT: Det hjalp ikke så mye. Fikk bare opp en ny feilmelding:

 

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /home/www/filmbloggen.freehostia.com/cry_wolf.php:9) in /home/www/filmbloggen.freehostia.com/comment/include/session.class.inc.php on line 2

Endret av Movieheart
Lenke til kommentar
Ok.

 

Rart at det var slik da. Har ikke gjort noen endringer på det etter at jeg lastet det ned.

 

EDIT: Det hjalp ikke så mye. Fikk bare opp en ny feilmelding:

 

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /home/www/filmbloggen.freehostia.com/cry_wolf.php:9) in /home/www/filmbloggen.freehostia.com/comment/include/session.class.inc.php on line 2

 

Det er lettere å hjelpe dersom du viser oss kildekoden (pastebin.no f. eks..).

Endret av onTop
Lenke til kommentar

du har rett i at det ikke blir så bra når de har skrevet kode rundt session håndteringen. det du må gjøre da er å se hvor sess_start(); blir eksekvert og hvilke parametere som er med. sess_start(); kan du sannsynligvis flytte øverst i filen uten problemer. dersom den er bakt inn i en annen funksjon må du søke opp den funksjonen igjen og se hvor den eksekveres og eventuellt flytte eller gjøre samme regla igjen.

Lenke til kommentar
Ok.

 

Rart at det var slik da. Har ikke gjort noen endringer på det etter at jeg lastet det ned.

 

EDIT: Det hjalp ikke så mye. Fikk bare opp en ny feilmelding:

 

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /home/www/filmbloggen.freehostia.com/cry_wolf.php:9) in /home/www/filmbloggen.freehostia.com/comment/include/session.class.inc.php on line 2

Jeg skrev årsaken i svar #2, uansett hvor mye du flytter på ting vil det ikke funke før du fjerner alt som skrives ut før session_start, og det er på linje 9 i filen jeg nevnte.

 

Merk at det kan og være forårsaket av et mellom før <?php eller etter ?> taggene.

Lenke til kommentar

Alt det som står før linje 9 i cry_wolf.php er dette:

 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 TRANSITIONAL//EN">
<html>

<head>
	<title>Øyvinds filmblogg - Anmeldelser - Cry_Wolf</title>
	<link rel="stylesheet" type="text/css" href="style1.css"/>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

 

Kan ikke se at dette ødelegger for noe. <html> og <head> må jo være der.

Lenke til kommentar

det ødelegger session! det må være der etter at alle headerene er sendt. altså etter session_start().

 

<!-- Alle headere må sendes før output dvs før denne linjen. -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 TRANSITIONAL//EN">
<html>

<head>
	<title>Øyvinds filmblogg - Anmeldelser - Cry_Wolf</title>
	<link rel="stylesheet" type="text/css" href="style1.css"/>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

Endret av grimjoey
Lenke til kommentar
Skjønner ikke helt hva som menes med alle headere?

 

Hva skal jeg putte inn før <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 TRANSITIONAL//EN">

 

Beklager hvis jeg spørr så dumt, men er som sagt helt grønn på dette området.

<?php session_start(); ?> - Dette skal stå før, og ikke på linje 69....

Lenke til kommentar

headers er informasjon som blir sendt til klienten før sideinnholdet. vanligvis usynlig for brukere. det er informasjon som sier hva innholdet er og om det kan caches osv. i tillegg settes cookies via headere. dersom scriptet sender sideinnhold og senere prøver å sette headere i samme request får du feilmelding.

 

les den forrige posten min og gjør som beskrevet der. er det noe du ikke skjønner/ noe jeg har forklart dårlig, er det bare å spørre.

 

edit: du har funnet en funksjon som heter sess_start(); i den kjøres session_start() blandt annet. du må da finne ut hvor sess_start() blir brukt i scriptet og hvis mulig flytte denne først i filen. dette hjelper ikke dersom filen blir inkludert av en annen fil. da må hele funksjonen flyttes til den filen som inkluderer den andre. men dette er veldig stygt å gjøre. man bør ikke rive opp scripts på denne måten.

 

det hadde vært lettere om vi fikk se koden i begge de aktuelle filene. hvordan har du satt dette sammen? har du fulgt noen bruksanvisning eller bare prøver du å inkludere scriptet?

Endret av grimjoey
Lenke til kommentar

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...