kostenloser Webspace werbefrei: lima-city


Problem mit header()-Angaben

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    sy

    Kostenloser Webspace von sy

    sy hat kostenlosen Webspace.

    Hallo,

    ich habe ein UserControlPanel von einem chat zusammengebastelt, wobei es mir aber
    um hauptsächlich ein problem geht:

    Beim einloggen geht alles, dann wenn man aber auf eine Aktion in der Navi klickt,
    so kommt ein error in der usercp.php:


    Warning: Cannot modify header information - headers already sent by (output started at /home/webpages/lima-city/sy/html/frames/cp/config/source.inc.php:28) in /home/webpages/lima-city/sy/html/frames/cp/usercp.php on line 94


    Was ist daran falsch? Den gesamten Code könnt ihr unter
    http://sy.lima-city.de/frames/cp/usercp.php?source sehen.

    hier sind zeilen 93-96

    {
            header("Location: " . $_SERVER["PHP_SELF"] . "?" . SESSION_HANDLER . "=" . SESSION_ID);
            die();
     }


    Danke für hile, es ist drigend!

    €dit: Alle files die includiert werden und alle anderen sind über ?source aufrufbar


    Beitrag geändert: 16.11.2008 20:48:10 von sy
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

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

  3. Es werden vorher schon ausgaben getätigt.
    Zb. hier:

    eval("\$_tpl_menu .= \"" . tpl_do("main_menu_block") . "\";");

    Setzte einfach die IF-Abfrage VOR eine Ausgabe.
  4. Autor dieses Themas

    sy

    Kostenloser Webspace von sy

    sy hat kostenlosen Webspace.

    also so?

    {
        if  header("Location: " . $_SERVER["PHP_SELF"] . "?" . SESSION_HANDLER . "=" . SESSION_ID);
            die();
     }


    oder doch nihc? hab dihc grad nich ganz verstanden
  5. Du musst ganz einfach nur beachten, dass noch keine Ausgabe erfolgt ist. Denn wenn dein Browser das erste Zeichen empfängt, wurden die Headerinformationen schon gesendet. Man kann sie also nicht nachträglich ändern!
    Ist doch ganz simpel, oder?
  6. Autor dieses Themas

    sy

    Kostenloser Webspace von sy

    sy hat kostenlosen Webspace.

    Naja,

    den cp code hatte ich von woanders, und der ging:
    http://mika.gogi.tv/yace/cp/. dort kannst du auch alles mit ?source aufrufen.

    und darum verstehe ich nicht wie das gehen soll : $
    Und das mit dem if auch nihc
  7. Das Problem ist, das vor dem Header keinerlei Ausgaben, seien es Zeilenumbrüche, gemacht werden dürfen. Das schreibt das HTTP vor.

    da hier Ausgaben entstehen, geht das nicht.
    eval("$_tpl_menu .= "" . tpl_do("main_menu_block") . "";");


    Ist zwar in manchen Situationen extrem blöd, das das nicht geht, aber ändern lässt sich daran NICHTS:slant:

    Gruß, Prog
  8. Autor dieses Themas

    sy

    Kostenloser Webspace von sy

    sy hat kostenlosen Webspace.

    aber wieso geht es dann auf mika.gogi.tv?
    ohne funktionierende usercp.php ist das CP praktisch sinnlos... :(
  9. Stichwort Buffer.

    ob_start() auf php.net suchen, der Rest ergibt sich dann.
  10. Autor dieses Themas

    sy

    Kostenloser Webspace von sy

    sy hat kostenlosen Webspace.

    Ich weiß, ich stell mich grad n bissl doof an, aber wo kommt das hin denn
    hin mit ob_Start und das ende?! :confused:
  11. <?php
    ob_start();
    // Irgendwelche Ausgaben.
    header("Foo.");
    // Restliche Seite.
    ob_end_flush();
    ?>


    Von mir aus auch "ob_end_flush()" direkt nach "header()", sollte auch reichen.

    Beitrag geändert: 17.11.2008 16:58:17 von tavern
  12. Autor dieses Themas

    sy

    Kostenloser Webspace von sy

    sy hat kostenlosen Webspace.

    Aalso,

    wenn ich ob_start() gaaanz an den anfang, und ob_end_flush() ganz ans ende mache,
    dann kommt kein php error aber dafür ist die URL falsch. Diese setzt sich ja zusammen aus teilen
    aber anstatt ich sag mal die teile zu "übersetzzen" kommt die "rohversion" heraus.

    Also eigentlich sollte das hier das ergebnis sein:

    http://localhost/www/cp/usercp.php?action=chgreg&s=c2e5bd753dd72cc67454e6b553fcd50d
    => Man kann das Profil bearbeiten.

    Aber das hier ist dann die URL:

    http://localhost/www/cp/%22%20.%20$_SERVER[%22PHP_SELF%22]%20.%20%22?%22%20.%20SESSION_HANDLER%20.%20%22=%22%20.%20SESSION_ID
    => Ergebnis ist Error 403 kein Zugriff..

    Hilfe :confused:
  13. 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!