php statt frames

trefixxx

Grünschnabel
ich benutze diese php statt frames in einem passwortgeschützten bereich.

PHP:
<html>
<head>
<title></title>
<style type="text/css">
##### blabliblubb unwichtig
</style>
</head>
<body>


<? 
/* Übernahme des Passworts */
$password = $_POST['password'];

/* Datenbank Daten holen */
include("../config.php");

if ($password == $password_admin) {

echo '<html><body><table width="100%" height="100%"><tr><td width="25%" height="100%" bgcolor="#314477" valign="top" "class="content">
<b>Navigation: </b><br><br>
<a href="admin.php?page=news">Control Panel / Startseite</a><br>
<a href="admin.php?page=news_edit">News editieren</a>
</td><td width="75%" valign="top">';

if(!isset($page)) //hier fängt das an!
{
include("news.php");
}
else
{
if(file_exists("$page.php"))
{
include("$page.php");
}
else
{
echo"<b>Diese Seite existiert nicht!</b>";
}
}

echo '</td></tr></table></body></html>';
}

  else {
    echo "Sie haben ein falsches Passwort angegeben!";
  } 
?>

</body>
</html>

So, nun werden die seiten ja immer "included". Bei der seite "news.php" (also der standartseite, die man sieht, wenn man sich in diesen geschützten bereich einloggt) geht das ja noch. Aber wenn man zum beispiel einen link anklickt wie oben in dem beispiel:
<a href="admin.php?page=news_edit">News editieren</a>
dann zeigt er mir an, dass ich das passwort eingeben muss. Das passiert nur, wenn ich einen link aufrufe.

Wo liegt der fehler? danke!
 
Woher soll er auf der nächsten Seiten noch wissen, das sich der User eingeloggt hat?
das HTTP Protokoll ist leider so blöde das es sich das nicht merken kann.

Am eifachsten kannst du es mit Sessions lösen. Kannst ja einfach eine Varialbe in die Session spiechern, zumbeispiel $login = 1. Wenn $login dann = 1 ist hat sich der User eingeloggt, sonst nicht ;)

MFG
redX
 
Das könnte ich tun, allerdings kenn ich sessions nur vom namen her :)
Gibt es ein tutorial dazu, was mir die grundlagen erklärt? Wär echt hilfreich! Thanx.
 
Zurück