Problem mit header()-Angaben
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
abfrage
aufrufen
ausgabe
bearbeiten
buffer
code
einloggen
ende
ergebnis
gesamten code
grad
header
http
output
problem
profil
reichen beitrag
situation
url
zugriff
-
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 -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
also so?
{ if header("Location: " . $_SERVER["PHP_SELF"] . "?" . SESSION_HANDLER . "=" . SESSION_ID); die(); }
oder doch nihc? hab dihc grad nich ganz verstanden -
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? -
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 -
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
Gruß, Prog -
aber wieso geht es dann auf mika.gogi.tv?
ohne funktionierende usercp.php ist das CP praktisch sinnlos... :( -
Ich weiß, ich stell mich grad n bissl doof an, aber wo kommt das hin denn
hin mit ob_Start und das ende?! -
<?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 -
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 -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage