Avatar billede stagedk Nybegynder
06. april 2009 - 23:04 Der er 7 kommentarer og
1 løsning

Headers cannot be modyfied.

Hej Eksperter. jeg har et lille problem. som jeg virkelig har brugt like 3 dage på at løse uden held.
jeg er igang med et script der bruger en masse
header('Location:');'s . problemet er at når jeg går ind på en fil som skulle køre en header('Location: http://www.example.com/'); så får jeg et output der hedder: Cannot modify header information - headers already sent by (output started at site/header.php:7).
ja den er jo ikke så svær, jeg tjekker der for header.php line 7. tænker hmm, virker da mærkeligt. nå jeg sletter så en masse i håb om det ville virke, men nej. Så jeg googler det jo. og der står et sted at det kan være at der er whitespace(mellemrum) ved <? og ?>. jamen fint. jeg sletter så alt whitespace, dog hjælper det ikke en dyt.
er der nogle der evt kan fortælle mig hvad jeg gør galt?.
Avatar billede Hardball21 Nybegynder
06. april 2009 - 23:19 #1
Typisk er det eller anden output rutine som f.eks. print/echo som har smidt et eller andet ud.

Før din fejl på linie 7, kalder du da en eller flere af dine egne rutiner - check dem for at generere output.

Har prøvet dette før - kan godt tage lidt tid :)
Avatar billede stagedk Nybegynder
06. april 2009 - 23:25 #2
header.php:
<?
session_start();
$query = mysql_query("SELECT * FROM site_info");
$row = mysql_fetch_assoc($query);
{
?>
<title><? echo $row[title] ; ?></title>
<table border="1" height="100%" width="60%" align="center"><tr>
<td valign="top">
<center><font size="10">LOGO</font></center>
<hr size="1">
<center>
<?
}
echo "- ";
$query = mysql_query("SELECT * FROM sites");
while($row = mysql_fetch_assoc($query))
{
echo "<a href='index.php?page=$row[case]'>$row[name]</a> - ";
}
?>
<hr size="1">
Avatar billede erikjacobsen Ekspert
06. april 2009 - 23:37 #3
Hvor skriver du header("Location...") ?

Og hvad kommer der før din header.php ? (Et HTML dokument starter ikke med <title> )
Avatar billede majbom Novice
07. april 2009 - 08:06 #4
går ud fra at du includerer header.php i en anden fil som indeholder starten af din html-fil og det dur ikke.

header skal bruges inden der laves output overhovedet, altså før <html> osv.

desuden bør du bruge css til at style din tekst; både <center> og <font> er "deprecated" og børderfor erstattes af mere tidsvarende metoder.
Avatar billede stagedk Nybegynder
07. april 2009 - 11:05 #5
Jeg bruger CSS :), men bare et jeg downloadede fra freecsstemplates.com - for jeg sux virkelig til CSS ;D
Avatar billede stagedk Nybegynder
07. april 2009 - 11:11 #6
nu har jeg taget hele min header og puttet i toppen af min index fil. dog har det ikke hjulpet..
index.php:
<?
session_start();
include "config.php";
?>
<table border="1" height="100%" width="60%" align="center"><tr>
<td valign="top">
<center><font size="10">LOGO</font></center>
<hr size="1">
<center>
<?
echo "- ";
$query = mysql_query("SELECT * FROM sites");
while($row = mysql_fetch_assoc($query))
{
echo "<a href='index.php?page=$row[case]'>$row[name]</a> - ";
}
?>
<hr size="1">
<link href="default.css" reL="stylesheet" type="text/css">
<?
$_POST = @array_map("mysql_real_escape_string", $_POST);
$_GET = @array_map("mysql_real_escape_string", $_GET);
$_FILES = @array_map("mysql_real_escape_string", $_FILES);
$_SESSION = @array_map("mysql_real_escape_string", $_SESSION);
$_COOKIE = @array_map("mysql_real_escape_string", $_COOKIE);
$query = mysql_query("SELECT * FROM sites");
$row = mysql_fetch_assoc($query); //a loop, which runs all rows through
{
if(isset($_POST['submit2'])){
$actus = $_POST['euser'];
$query = mysql_query("SELECT * FROM site_users WHERE brugernavn = '$_POST[euser]' OR email = '$_POST[euser]'") or die(mysql_error());
$eus = mysql_fetch_assoc($query);
$allowed_chars = "1qaz2wsx3dc4rfv5tgbQAZWSXEDCFVGByhnYHN7ujm8ik9ol0pUJMIKLOL";
$number_of_chars = 15;
for($x=1; $x <= $number_of_chars; $x++){
    $password .= htmlentities($allowed_chars[rand(0,strlen($allowed_chars)-1)]);
}
Avatar billede erikjacobsen Ekspert
07. april 2009 - 11:13 #7
Hvor skriver du header("Location...") ?

Og hvad kommer der før det du viser ? (Et HTML dokument starter ikke med <table> )
Avatar billede olebole Juniormester
07. april 2009 - 12:51 #8
<ole>

Skriv den fulde kode, der ligger i dokumentet, du taler om. Ellers giver det ikke mening at forsøge at hjælpe  =)

/mvh
</bole>
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

IT-JOB