[PHP] Session Problem?

The Prophet

Rear Admiral
Registriert
Aug. 2001
Beiträge
5.981
Hallo,

hab mal wieder ein Problem kann auch sein das ich zu dämlich bin weil ich heute zu lange in der Sonne lag :p
Aber zum Problem.

login.php
PHP:
<?php 
  session_start(); 

  // wenn $login noch nicht registriert, registriere jetzt 
  if (!session_is_registered('login')) 
    { 
    session_register('login'); 
    } 
  
  $login = false; // in jedem Fall, login erstmal auf false 
?> 

<html> 

  <head> 
    <title>Login zum Adminbereich</title> 
</head>
    
    <?php 
      // überprüfe Login-Daten 
      if ($name=="The Prophet" && $passwd=="test") 
        { 
        // erlaube Zugang 
        $login = true; 
        // leite zur Startseite weiter 
        print "<meta http-equiv='refresh' content='0; URL=admin/admin.php' />"; 
        } 
      else 
        { 
        $login = false; 
        } 
      if ($Message == "Invalid") {
		  echo ("<center><font color=red>Login is incorrect. Please try again!</font></center>\n");
	  }
	  
	  
	  ?>

admin.php
PHP:
<?php 
session_start(); 

// wenn $login noch nicht registriert, registriere jetzt 
if (!session_is_registered('login')) 
  { 
  session_register('login'); 
  $login = false; // wenn noch nicht registriert, direkter Aufruf -> darf nicht 
  } 
  
?> 

<html> 

  <head> 
    <title>Admincenter</title>
   </head>
    <?php 
      // prüfe Zugangsrecht 
      if (!$login) 
        { 
        // leite zur Login-Seite weiter 
        print "<meta http-equiv='refresh' content='0; URL=../login.php?Message=Invalid' />"; 
        } 
     ?>

Das funktioniert soweit ja ohne Probs. Die Seite ist nur aufrufbar wenn sich vorher eingeloogt wurde.
Wenn ich in der Admin.php jedoch den Namen des eingeloggten ausgeben lassen will im Body passiert einfach nix. Es erfolgt einfach keine Ausgabe kann machen was ich will.
Aufruf des Namen
PHP:
<? echo $name ?>

Vielleicht weiß wer warum ich vermute es hängt mit der Session zusammen.

mfg
 
Zuletzt bearbeitet:
Hab die Lösung gefunden. Hab im login Script noch ein
PHP:
session_register("name");
hinzugefügt nun geht es :)
 
PHP:
<?php 
      // prüfe Zugangsrecht 
      if (!$login) 
        { 
        // leite zur Login-Seite weiter 
        print "<meta http-equiv='refresh' content='0; URL=../login.php?Message=Invalid' />"; 
        } 
?>

warum bauste du anstatt der meta weiterleitung nicht einen header ein wie

PHP:
<?php 
      // prüfe Zugangsrecht 
      if (!$login) 
        { 
        // leite zur Login-Seite weiter
        header('Location: ../login.php?Message=Invalid');
        } 
?>
 
Naja so einen großen Unterschied bringt es ja net aber wieso nicht alles in PHP ;)

Naja habs mal probiert und als ob ich es gewußt hätte, bekomm ich ne Fehlermeldung.
headers already sent by etc...
Hast du eventuell ne Lösung für das Problem.

[edit]
Man sollte keinen HTML Code vorher senden :D
[/edit]
 
Zuletzt bearbeitet:

Ähnliche Themen

Zurück
Oben