Ich würde das Problem mit einer Session-ID lösen.
Für die registrierten Mitglieder gibt es in einer MySQL-Datenbank z.B. eine Tabelle user,
in der jedes Mitglied mit einer eigenen id eingetragen ist.
login.php
PHP-Code:
<?php
session_start();
// Zugriff auf die Datenbank
$db_link = mysql_connect ("Hostname", "Benutzer", "Passwort");
mysql_select_db ("Datenbankname");
// prüfen, ob das Dokument ordnungsgemäß aufgerufen wurde
if(isset($_POST["username"]) AND isset($_POST["passwort"]))
{
$username = $_POST["username"];
$password = $_POST["passwort"];
// zur Sicherheit eine md5-Verschlüsselung
$passwort = md5($password);
if($username != "" AND $password != "")
{
// Datenbank-Abfrage
$abfrage = "SELECT id, passwort, username FROM user WHERE passwort LIKE '$passwort'
AND username LIKE '$username'";
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis))
{
$pass = $row->passwort;
$user = $row->username;
$UserID = $row->id;
}
if($pass == $passwort AND $user == $username)
{
$_SESSION['UserID'] = $UserID;
echo "Login erfolgreich";
echo "<br><a href=\"sicher.php\">Weiter</a>";
}
else
{
echo "Login fehlgeschlagen. Username und/oder Passwort falsch.";
echo "<a href=\"...\">Zurück</a>";
exit;
}
}
else
{
echo "Login fehlgeschlagen. Bitte geben sie Login-Daten an.";
echo "<a href=\"...\">Zurück</a>";
exit;
}
}
else
{
echo "Login fehlgeschlagen. Bitte geben sie Login-Daten an.";
echo "<a href=\"...\">Zurück</a>";
exit;
}
?> Die Datei, indem die Daten für angemeldete Mitgleder sichtbar sein sollen habe ich einfach mal sicher.php genannt.
PHP-Code:
<?php
session_start(); // muss auf jede Seite, die mit Session-IDs arbeitet
if(!isset($_SESSION['UserID']))
{
echo "Bitte erst <a href=\"login.php\">einloggen</a>!";
exit;
}
?>
Dieser Teil muss in jeder Datei, die vor unangemeldeten Personen sicher sein soll ganz oben stehen.
Darunter kannst du dann deinen HTML-Teil schreiben.
natürlich brauchst du noch eine index.php o.ä. wo du den Benutzer die Daten eingeben lassen musst.
Als Übergabe-Variablen habe ich "passwort" und "username" mit der Methode "post" verwendet.
Ich hab den Code nicht getestet aber es sollte funktionieren.