Problem mit "headers already sent"

10/11/2013 19:52 bLUM3#1
Hey,
ich habe ein Login-Interface gemacht, jedoch wenn ich mich einlogge (auf google.de/index.php?p=login) kommt folgendes:
Code:
Warning: Cannot modify header information - headers already sent by (output started at PFAD) in PFAD on line 9
Wenn ich nun über die Basis-URL (google.de) auf die Seite gehe, bin ich eingeloggt (Im User-Interface).
Das selbe passiert auch beim ausloggen. Bei der Registration ebenfalls, da ich nach erfolgreicher registration per header zurück zur index leite.
google.de ist nur ein Beispiel, welches für meine Seite stehen soll.

Wer kann mir helfen? Kann gerne den Link privat senden und ggf. Sourcecode-Schnipsel bereitstellen.
10/11/2013 20:05 kissein#2
Zeile 9, würdemal dort anfangen mit Debug
10/11/2013 20:17 bLUM3#3
Quote:
if(isset($_POST["submitlogin"]))
{
$account = new Account();
if($account->Login($_POST["username"], $_POST["password"]))
{
header("Location: index.php");
}
else
{
$loginfailed=true;
}
}
Mehr gibts da nicht zu sagen :)
10/11/2013 20:53 kissein#4
C&P Code?

Eigentlich gibts da ja viel zusagen aber grad Fussball.

Tipp: Google "Debugging PHP" und lies hier mal mit Verstand durch [Only registered and activated users can see links. Click Here To Register...]
10/11/2013 21:17 Shawak#5
du kannst den header nicht verändern nachdem <head>[..]</head> gesendet wurde
10/11/2013 21:23 devcode#6
Setze
PHP Code:
<?php ob_start(); ?>
ganz nach oben in deiner Datei, und
PHP Code:
<?php ob_end_flush(); ?>
ganz nach unten. Übernehme aber keine Garantie :D Ansonsten vielleicht einen absoluten link im header benutzen.
10/11/2013 21:51 mhaendler#7
Der Fehler liegt darin, wie die Fehlermeldung schon sagt. Es wird bereits Code ausgegeben, dann funktioniert ein "Header" nicht mehr. Prüfe deinen Code wo vorher HTML-Code ausgegeben wird
10/11/2013 23:11 jibi1996#8
Quote:
Originally Posted by bLUM3 View Post
Mehr gibts da nicht zu sagen :)
Did you forgot the '[Only registered and activated users can see links. Click Here To Register...]' ?
10/12/2013 00:38 bLUM3#9
I didnt forgot session_start().
Kein C&P Code :)
op_start geht auch nicht.

Bzgl. <head>-Tag -> Kann ich den Head nach header senden? Meinetwegen schicke ich dir auch den ganzen Code Shawak
10/12/2013 04:02 Mikesch01#10
Widerspricht sich das nicht? Head nach Header senden?

Wenn du den header()-Befehl von PHP benutzt, dann darf vorher noch keine Ausgabe erzeugt worden sein. Dann funktioniert es. Ist jedoch schon eine Ausgabe erfolgt (sei es auch irgendwelche HTML-Tags, so ist die Funktion nicht mehr möglich.
10/12/2013 06:37 #SoNiice#11
Wie alle anderen schon sagten kannst du keinerlei Head-Informationen mehr verändern, sobald dieser bereits ausgegeben wird. Übrigens ist die Fehlersuche meist einfacher, wenn man den gesamten Source der Datei sieht ;-)
10/12/2013 18:43 bLUM3#12
Wie kann ich denn dann am einfachsten eine Weiterleitung mit PHP machen ohne header()?
10/12/2013 18:59 devcode#13
Quote:
Originally Posted by bLUM3 View Post
op_start geht auch nicht.
Dann hast du was falsch gemacht. Ich hatte das damals immer so gemacht und auch gerade wieder getestet => geht.
10/12/2013 19:25 bLUM3#14
Ich habs ganz oben und ganz unten in die login.php und in die index.php gemacht -> Geht beides nicht.
10/12/2013 20:54 #SoNiice#15
Du kannst ansonsten, wenn du es mit dem header() nicht hinkriegst einfach ein 'meta refresh' ausgeben.