Avatar billede DGudiksen Nybegynder
05. marts 2010 - 14:13 Der er 11 kommentarer og
1 løsning

Header Already sent cookie problem.

Hej allesammen, hvordan kan det være jeg får en header already sent fejl, i den linje hvor jeg gerne vil sætte en cookie.

Min kode ser således ud:

<?php
if (isset($_REQUEST[husk]) && $_GET[bid] == $_SESSION[s_id]) {
setcookie("brugernavn", $brugernavn, time()+86400);
}
$FNavn = $_REQUEST['FNavn'];
$Display = $_REQUEST['Display'];
$Tastatur = $_REQUEST['Tastatur'];
$Mus = $_REQUEST['Mus'];
$Muspad = $_REQUEST['Muspad'];
$Headset = $_REQUEST['Headset'];
$Region = $_REQUEST['Landsdel'];
$Dato = $_REQUEST['Dato'];
$Maned = $_REQUEST['Maned'];
$Ar = $_REQUEST['Ar'];
$Fritekst = $_REQUEST['Fritekst'];
$Signatur = $_REQUEST['Signatur'];
$Username = $_SESSION['s_navn'];
$sid = $_GET[bid];
if (empty($_REQUEST['rank'])) {
$Rank = "$_SESSION[s_rank]";
}
else
{
$Rank = $_REQUEST['rank'];
}
mysql_query ("UPDATE Users SET Rank ='$Rank', Headset ='$Headset', Muspad ='$Muspad', Mus ='$Mus', Tastatur ='$Tastatur', Display ='$Display', FNavn ='$FNavn', Region ='$Region', Dato ='$Dato', Maned ='$Maned', Ar ='$Ar', Fritekst ='$Fritekst', Signatur ='$Signatur' WHERE ID ='$sid'");
echo "<script language=javascript>window.location.href='index.php?p=profile&id=$sid';</script>";
?>

På forhånd tak
Avatar billede repox Seniormester
05. marts 2010 - 14:16 #1
Hvad er den fulde fejlmeddelelse?
Avatar billede michael_stim Ekspert
05. marts 2010 - 14:20 #2
Har du koden længst oppe i dit dokument? Uden mellemrum eller linieskift.
Avatar billede DGudiksen Nybegynder
05. marts 2010 - 14:21 #3
Cannot modify header information - headers already sent by (blablabla) - in line 3
Avatar billede DGudiksen Nybegynder
05. marts 2010 - 14:22 #4
michael_stim ja
Avatar billede repox Seniormester
05. marts 2010 - 14:26 #5
Det der 'blablabla' er ret relevant. Lad os nu få hele fejlen istedet...
Avatar billede DGudiksen Nybegynder
05. marts 2010 - 14:30 #6
repox - Okay det troede jeg ikke havde noget at sige men:

Cannot modify header information - headers already sent by (output started at /home006/sub035/sc73608-VUTA/seekgather.dk/dev/_inc_top.php:7) /home006/sub035/sc73608-VUTA/seekgather.dk/dev/content/eprofil.php in line 3
Avatar billede repox Seniormester
05. marts 2010 - 14:33 #7
Problemet er at din eprofil.php inkluderer _inc_top.php som har output på linie 7. Derfor fejler din eprofil.php i linie 3 (som så er din setcookie() )
Avatar billede DGudiksen Nybegynder
05. marts 2010 - 14:35 #8
hvad?:D det forstår jeg ikke helt. Altså min eprofil.php ser ud som ud har set den. Men har jo en index.php som includer inc_top & eprofil.php. Men på min inc_top linje syv er der css include?
Avatar billede repox Seniormester
05. marts 2010 - 14:37 #9
Så vender jeg det da bare om...
index.php inkluderer inc_top.php og inkluderer derefter eprofil.php

setcookie() kan kun fungere hvis du ikke har output inden du bruger funktionen.

Output er tomme linier, HTML, CSS og alt hvad der ligner.
Avatar billede DGudiksen Nybegynder
05. marts 2010 - 14:38 #10
okay :( - Men tak for hjælpen, lig et svar
Avatar billede repox Seniormester
05. marts 2010 - 14:42 #11
Du kan - for at komme ud over det - i starten af din index.php skrive:
ob_start();


Det vil løse problemet umiddelbart. Men jeg vil anbefale dig at omlægge din løsning fremfor at bruge output buffering da det bare inspirerer til at 'springe over hvor gærdet er lavest'...
Avatar billede repox Seniormester
05. marts 2010 - 14:42 #12
Og et svar...
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