Georg: Weiterleitung nach erfolgreichem Login

Servus!

Ich hab da ein kleines Anfänger-Problem mit PHP. Mein Code für ein Login-Skript (mit Sessions) beinhaltet bei erfolgreichem Login diesen Auszug:

----snip--------
...

function displayLogin(){
   global $logged_in;
   if($logged_in){
      echo "<h1>Logged In!</h1>";
      echo "Welcome <b>$_SESSION[email]</b>, you are logged in. <a href="logout01.php">Logout</a>";
   }
   else{
?>
----snip--------

Das funktioniert auch wunderbar. Nun möchte ich allerdings nix neues angezeigt bekommen, sondern ich möchte in den sicheren Bereich weiterleiten und zwar gern so:

----snip--------
...

function displayLogin(){
   global $logged_in;
   if($logged_in){
       header ("Location:Sichere_Seite.php");
   }
   else{
?>
----snip--------

Das ergibt jedoch folgende Fehlermeldung:

Warning: Cannot modify header information - headers already sent by (output started at c:\server\html_design\version1.0\main.php:13) in c:\server\html_design\version1.0\login04.php on line 78

Line 78 ist:        header ("Location:Sichere_Seite.php");

Kann mir Dummie jemand sagen, wo der Fehler liegen könnte?
Thx und Grüezi
Georg

  1. Abend,

    Scheinbar hast du vor der header()-Anweisung bereits irgendetwas ausgegeben, sei es <html>, ein versehentliches Leerzeichen vor <?php oder doch ein ganzer echo-Befehl, wie er in deinem Beispiel vorkommt. Der Header kann nur verändert werden, wenn davor absolut nichts gesendet wurde.

    Gruß
    Patrick

    1. Hello,

      ... außerdem ist die Header-Anweisung so nicht korrekt. Nach dem Doppelpunkt muss EIN Leerzeichen stehen.

      Liebe Grüße aus http://www.braunschweig.de

      Tom

      --
      Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen