PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Sprung zu vorgebener Zielseite nach DB Eintrag



otelo
12-08-2006, 20:06
Hi,

ich habe bisher hauptsächlich in Perl programmiert, muss mich nun aber mit php auseinandersetzen.

Bei dem Versuch eine Loginseite zu bauen habe ich ein wahrscheinlich triviales Problem. Ich habe ein formular in login.php welches im form tag auf sich selbst verweist. Der User gibt seinen loginnamen und ein Passwort ein und schickt das Formular ab, jetzt kommt der php Code in dem Username und Passwort mit der mysql DB abgeglichen werden. funktioniert soweit alles super
wenn die Anmeldung erfolgreich war, möchte ich auf eine andere Seite springen. Ich habe dies mit header(); probiert bekomme aber jedesmal folgendes zurück



Warning: Cannot modify header information - headers already sent


Bei Perl habe ich an dieser Stelle einfach eine header routine aufgerufen die mit print
print "Content-type: text/html\n\n"; startet und danach die üblichen html tags enthält.

Wie kann ich mit php zu einem anderen Ziel springen?

Danke und Gruß
otelo

Pingu
12-08-2006, 20:51
Beachten Sie, dass header() aufgerufen werden muss, bevor eine Ausgabe gesendet wurde, egal ob dies normale HTML Tags, leere Zeilen in einer Datei oder von PHP sind. Ein weit verbreiteter Fehler ist, mittels include(), require() oder anderen Dateizugriffsfunktionen Code zu lesen, und so unbewusst Leerzeichen oder Leerzeilen auszugeben, bevor header() aufgerufen wird. Das gleiche Problem besteht auch bei Verwendung einer einzigen PHP/HTML Datei.
10 Zeichen

inge
14-08-2006, 12:47
beachte, dass die seite vorher noch nichts ausgeben darf, ob nun mit php oder statisch, der header muss als aller erstes kommen!



das geht nicht
<?php

echo 'das geht auch nicht';

header("Location: seite.php");

echo 'das geht, ist aber sinnlos';