kostenloser Webspace werbefrei: lima-city


Warning: Cannot modify header information - headers already

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    infinitywar

    infinitywar hat kostenlosen Webspace.

    Kann mir einer sagen was hier falsch ist?

    Warning: Cannot modify header information - headers already sent by (output started at /home/webpages/lima-city/infinitywar/html/****/index.php:42) in /home/webpages/lima-city/infinitywar/html/****/****/login.php on line 22


    Mein Login sollte nach erfolgreichen Login auf eine Seite weiterleiten


    header('Location: file.php');
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

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

  3. g****e

    Dann ist vorher schonmal irgendwo ein "echo" geschehen. Es wurde irgendwie ein Zeichen zum Client gesendet.
    Headermanipulationen gehen nur, bevor ein Teil des Contents gesendet wurde, da Header VOR dem Content gesendet werden müssen.

    Alternativ kannst du auch OutputBuffering benutzen, dann wird nichts gesendet, bis du es wirklich zulässt, könnte bei dir aber auch eine Debugausgabe vorher sein? Irgendwo ein echo vorher für eine Wertanzeige?

    Liebe Grüße
  4. Autor dieses Themas

    infinitywar

    infinitywar hat kostenlosen Webspace.

    Also ich habe jetzt mal in der index.php Zeile 42 geguckt und dort steht nur dass: <?PHP
  5. infinitywar schrieb:
    Kann mir einer sagen was hier falsch ist?
    Warning: Cannot modify header information - headers already sent by (output started at /home/webpages/lima-city/infinitywar/html/****/index.php:42) in /home/webpages/lima-city/infinitywar/html/****/****/login.php on line 22

    Mein Login sollte nach erfolgreichen Login auf eine Seite weiterleiten
    header('Location: file.php');
    yo mey! wenn du jetzt die ganze warnung ansiehst, hast dort auch eine zeile 22 in 'login.php' ;) was ist dort eigentlich??
    dann:
    header('Location: file.php');
    ist abgrundtief falsch (was ja mit dem fehler nichts zu tun hat). nach 'Location: ' muss immer ein URL stehen! also:
    header('Location: http://<path>/<to>/file.php');
    (und frage mich nicht warum. es ist einfach so ;)

    generell zu deinem fehler:
    solltest in der lage sein, deine php-files logisch genug aufzubauen, brauchst du kein einziges mal echo, (f)print o. sonst irgend etwas an ausgabe. dann kannst überall - nach bedarf - header wegschicken, ohne dass nur ein fehler/warnung auftritt.


    infinitywar schrieb:
    Also ich habe jetzt mal in der index.php Zeile 42 geguckt und dort steht nur dass: <?PHP
    also klar, du hüpfst zwischen html- und php-code. und genau das ist mit 'logisch' gemeint. wenn du mal html code gehabt hast und zu php wechselst, ist schon eine ausgabe passiert. (das ist schlechthin 'spaghetticode'.)

    du sollst so denken: 'ich generiere html mit php-code' und nicht: 'ich gebe mal html aus und dann programmiere ich ein bisschen php noch dazu'!

    Beitrag zuletzt geändert: 2.3.2013 10:33:38 von czibere
  6. Autor dieses Themas

    infinitywar

    infinitywar hat kostenlosen Webspace.

    Ah okay, aber was ich mir nicht erklären kann, auf einem anderen Server kamen die Errors nicht, aber warum hier?
  7. burgi

    Co-Admin Kostenloser Webspace von burgi

    burgi hat kostenlosen Webspace.

    Das kann beispielsweise daran liegen, dass du auf dem anderen Server die Fehleranzeige deaktiviert hast, und bei uns via .htaccess aktiviert hast.
    Sobald dann eine Fehlermeldung ausgegeben wird, kann die Header-Weiterleitung nicht mehr funktionieren.
  8. Autor dieses Themas

    infinitywar

    infinitywar hat kostenlosen Webspace.

    Also wenn ich die Fehleranzeige deaktivieren würde, würde der header Code funktionieren?
  9. burgi

    Co-Admin Kostenloser Webspace von burgi

    burgi hat kostenlosen Webspace.

    infinitywar schrieb:
    Also wenn ich die Fehleranzeige deaktivieren würde, würde der header Code funktionieren?

    Wie sollen wir das denn mit Sicherheit sagen können?
    Teste es doch einfach!
    Ansonsten wirst Du wohl die Ausgabe von php_info() der beiden Server vergleichen müssen, um zu sehen, wo der Fehler liegt.
  10. Vor einem Header oder einer Session darf keine Ausgabe erfolgen. Das ist der Trick ;)
  11. project-x-beta

    project-x-beta hat kostenlosen Webspace.

    Guck mal hier http://www.php.de/wiki-php/index.php/Headers_already_sent
  12. 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!