kostenloser Webspace werbefrei: lima-city


PHP header Fehler

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    davy

    Kostenloser Webspace von davy

    davy hat kostenlosen Webspace.

    Hallo !

    Ich habe ein Newsscript programmiert. Eben habe ich eine Weiterleitung mit header() reingeschrieben, seitdem kommt dieser Fehler

    Der Fehler:

    Warning: Cannot modify header information - headers already sent by (output started at /home/www/web48/html/admin/news.php:5) in /home/www/web48/html/admin/news.php on line 21

    Der Code ist:

    <?php
    ....
    if($_GET[action]==add){
    
    $nachricht = htmlentities($nachricht);
    $betreff = htmlentities($betreff);
    
    mysql_query("insert into news (zeit,datum,betreff,nachricht) values ('$zeit','$datum','$betreff','$nachricht')");
    
    header('Location: /home/www/web48/html/admin/news.php');
    
    }
    ...
    ?>


    Woran liegt das? Ich will damit erreichen, dass man nachdem man eine News hinzugefügt hat, auf news.php umgeleitet wird.

    Nach dem Fehler habe ich schon gesucht bei google, aber keine Lösung für mein Problem gefunden.
    Mfg

    Beitrag zuletzt geändert: 21.12.2010 11:11:49 von davy
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Der Fehler tritt meistens auf, wenn irgendwo vor dem Header-Befehl bereits eine Ausgabe erfolgt, meistens "echo". Also schau doch mal ob du irgendwo vor dem Header eine Ausgabe hast, schätzungsweise um die Zeile 21 rum :wink:

    Das ist vermutlich der am häufigst auftrettende Fehler im Zusammenhang mit Header.
  4. Autor dieses Themas

    davy

    Kostenloser Webspace von davy

    davy hat kostenlosen Webspace.

    alfr3d schrieb:
    Der Fehler tritt meistens auf, wenn irgendwo vor dem Header-Befehl bereits eine Ausgabe erfolgt, meistens "echo". Also schau doch mal ob du irgendwo vor dem Header eine Ausgabe hast, schätzungsweise um die Zeile 21 rum :wink:

    Das ist vermutlich der am häufigst auftrettende Fehler im Zusammenhang mit Header.


    Ja, davor wird einiges schon ausgegeben
    Wie kann ich denn eine Weiterleitung auf news.php machen?

    Hier ein bisschen mehr vom Code: (von Anfang)

    <?php
    include ("checkuser.php");
    ?>
    
    <?php
    
    require('../config/config.php');
    $db = mysql_connect($dbhost, $dbuser, $dbpass) or die(mysql_error());
    mysql_select_db($dbname,$db) or die(mysql_error());
    
    $zeit = time();
    $datum = date("d.m.y");
    
    if($_GET[action]==add){
    
    $nachricht = htmlentities($nachricht);
    $betreff = htmlentities($betreff);
    
    mysql_query("insert into news (zeit,datum,betreff,nachricht) values ('$zeit','$datum','$betreff','$nachricht')");
    
    			header("LOCATION: ./news.php");
    
    }
    
    if($_GET[action]==delete){
    mysql_query("delete from news where id='$_GET[id]'");
    }
    ....
  5. anstatt der Zeile:
    header('Location: /home/www/web48/html/admin/news.php');

    einfach mal so probieren:
    echo "<meta http-equiv=\"refresh\" content=\"0; URL=/home/www/web48/html/admin/news.php\" />";

  6. Autor dieses Themas

    davy

    Kostenloser Webspace von davy

    davy hat kostenlosen Webspace.

    alfr3d schrieb:
    anstatt der Zeile:
    header('Location: /home/www/web48/html/admin/news.php');

    einfach mal so probieren:
    echo "<meta http-equiv=\"refresh\" content=\"0; URL=/home/www/web48/html/admin/news.php\" />";




    Danke ! Hat geklappt !
  7. t*****b

    davy schrieb:
    alfr3d schrieb:
    anstatt der Zeile:
    header('Location: /home/www/web48/html/admin/news.php');

    einfach mal so probieren:
    echo "<meta http-equiv=\"refresh\" content=\"0; URL=/home/www/web48/html/admin/news.php\" />";




    Danke ! Hat geklappt !


    Das ist doch keine wirkliche Lösung. Wie bereits gesagt, wird die Weiterleitung über Header() nicht augeführt, da du bereits eine Ausgabe hast und zwar hier:

    <?php
    include ("checkuser.php");
    ?>
    
    <?php
    
    require('../config/config.php');
    ....


    Dort gibts du einen Absatz aus. Richtig wäre:


    <?php
    include ("checkuser.php");
    
    require('../config/config.php');
    ....
  8. Natürlich ist es nicht die beste Lösung, aber die Fehlerquelle hab ich ja ebenso erläutert, also gehe ich davon aus, dass man mit ein bisschen Eigeninitative selbst dahinter kommt was man ändern muss.
  9. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!