Warning: Cannot modify header ... already sent by

Tianna

Grünschnabel
Hallo :)

ich habe dieses Thema bereits in mehreren Varianten in unterschiedlichen Foren durchforstet bin aber nicht auf die Lösung für mein Problem damit gekommen.

Momentan bin ich am Coden für eine Art Content Management System (nach einem Tutorial) und habe jetzt einen Layout Uploader eingefügt.

Alles klappt wunderbar - bis auf eine einzige kleine Sache.

Wenn ich im Login Bereich die Layouts verwalten möchte und sie von dort aus als "Preview" anklicke erscheint das Layout in einem neuen Fenster.

Wenn ich sie mir jetzt aber von "außerhalb" anschauen will - also von der Seite aus wo sie alle aufgelistet sind erscheint beim Aufrufen folgende Fehlermeldung:


Warning: Cannot modify header information - headers already sent by (output started at .../pa/header.php:398) in .../pa/layouts.php on line 30

In meiner Header.php Datei ist die Zeile 398 tatsächlich die letzte Zeile im Code.
Leerzeichen, Umbrüche usw usw habe ich alles bereits untersucht - habe die Datei mit Notepad++ bereits in ANSI und UTF-8 ohne BOM formatiert - die php Datei per ASCII "Art" (FTP) hochgeladen usw usw

Vielleicht hilft es wenn ich meine letzten Zeilen einfach mal angebe - denn ich weiß mittlerweile nicht mehr was ich noch tun kann :S

PHP:
<!--- Inhalt --->
<div style="position: absolute; top: 403; left: 275; width: 622;">
<div id="content">

Content wird in meinem CSS wie folgt definiert:

PHP:
div#content {
background-image: url('img/menubg.png');
border: 1px solid;
border-color: #ACBEDF;
text-align: justify;
COLOR: #A8A4AD;
font-size: 11px;
font-family: century gothic;
padding: 6px;
}


Und dann noch die layouts.php Datei bis zu der Zeile in der der Fehler "bemerkt" (?) wird.


PHP:
<?php 
include("header.php");
include('config.inc.php');       
include('functions.php');       

// Klicks zaehlen 
//-------------------------------------------------------------------------------------
if(isset($_GET['id'])){
    
 $id = clean_it($_GET['id']); 
 $do = clean_it($_GET['do']); 

    $abfrage = mysql_query("SELECT preview, download FROM layouts WHERE id='$id'"); 
    $row = mysql_fetch_object($abfrage); 
    
    if($do == 'view'){ 
        $was = "views";
        $url = $row->preview;
    }
    
    if($do == 'download'){
        $was = "downloads";
        $url = $row->download;
    }
    

    $update = mysql_query("UPDATE layouts SET $was = $was+'1' WHERE id='$id'"); 
    
        if($update){
            header("Location: $url");
        }else{
               echo "<div class=\"error\"><h2>Error....</h2><p>Es ist ein Fehler aufgetreten!</p></div>";
        }    
        
}

Ich hoffe hoffe hoffe das hier irgendjemand mir vielleicht ein bisschen weiterhelfen kann ;)


liebe Grüße, Tianna
 
Bin mir nicht ganz sicher aber der Fehler weisst drauf hin das du versuchst nach dem senden von einem Header einen weiteren zu senden ... meine erste Vermutung ...:)
 
Hallo :)

Vielen Dank für die vielen schnellen Antworten!
Ich werde mal morgen mir eure "Anregungen" genauer anschauen!

@ Zodiac:
genau daher hatte ich den Tipp mit dem Formatieren in Notepad++


Liebe Grüße


Edit:
Ah! Es hat geklappt - ich hatte "falsch" verlinkt. Also bin über eine unnötige Datei gegangen anstatt den "direkten" weg zu nehmen xD

Vielen Dank für die Antworten!
 
Zuletzt bearbeitet:
Zurück