Passwortabfrage aus der Datenbank

ja also den anmeldebereich hab ich alles schon, das war kein problem, alle nötigen Daten, die ich brauche, werden bei einer neuanmeldung in die datenbank eingetragen, aber zu dem Thema, wie ich jedem benutzer praktisch einen eigenen mitgliederbereich zuweise habe ich nichts wirkliches gefunden und ich komm selbst nicht wirklich drauf, wie ich das am besten lösen könnte

[..]

Also ich hab mir jetzt tausend Sachen zu Sessions usw. durchgelesen, aber ich verstehs nicht und die Beispiele kann ich irgendwie auch nicht auf meine Daten übertragen, kann mir nicht vielleicht jemand an hand meines scripts explizit erklären, wie ich mit einer session für jeden eingeloggten benutzer einen eigens festgelegten benutzerbereich aufrufen kann?
das würde mir echt weiterhelfen

hier noch mal meine datei login2.php
Code:
$query = '
    SELECT
            `id`
      FROM
            `Mitglieder`
      WHERE
            `Name`     = "'.mysql_real_escape_string($_POST['name']).'"
        AND `passwort` = "'.mysql_real_escape_string($_POST['passwort']).'"
    ';



$result = mysql_query($query)
    or die(mysql_error());
if( mysql_num_rows($result) ) {
    echo 'Herzlich Willkommen!.';
} else {
    echo 'Login fehlgeschlagen';
 
Zuletzt bearbeitet:
Hallo,
hier das beste Tutorials für genau Deine Sache.

PHP:
// Session starten
session_start ();
// Datenbankverbindung aufbauen 
$connectionid = mysql_connect ("localhost", "root", ""); 
if (!mysql_select_db ("LoginSystem", $connectionid)) 
{ 
  die ("Keine Verbindung zur Datenbank"); 
}  

$sql = "SELECT * FROM member WHERE ".
    "(benutzername like '".$_REQUEST["benutzername"]."') AND ".
    "(kennwort = '".md5 ($_REQUEST["kennwort"])."')";
$result = mysql_query ($sql);

if (mysql_num_rows ($result) > 0)
{
  // Benutzerdaten in ein Array auslesen.
  $data = mysql_fetch_array ($result);
if ($data["id"] == 1)
{
  // Sessionvariablen erstellen und registrieren
    $_SESSION["id"] = $data["id"];
    $_SESSION["benutzername"] = $data["benutzername"];
header ("Location: membera.php");
}

elseif ($data["id"] == 2)
{
  // Sessionvariablen erstellen und registrieren
    $_SESSION["id"] = $data["id"];
    $_SESSION["benutzername"] = $data["benutzername"];
header ("Location: memberb.php");
}

else {
header ("Location: no_member.php");
}

}
else
{
header ("Location: index.php?fehler=1");
}
Anstelle von header ("Location:..."); geht auch INCLUDE um nur Teile einer Seite
anders da zu stellen.

MfG Tabuk
 
Hi,

ist der obige Vorschlag sicher? Kaum oder.....
Was ist, wenn mehrere User aus einem Netzwerk auf die Seite kommen? Gibt einer die Session-Id, welche in der Adresse angehängt wird weiter, kann jeder aus dem ein und dem selben Netzwerk Mitgliederseiten ansehen.
 
Deinen Tabuk.

Um Contentinhalte nur für bestimmte Nutzer darzustellen, musst du (sofern kein Cookie gesetzt wird) auf die URL-Angehängte Session-Id zurückgreifen.
 
Uups !

Mir stellt sich nur die Frage, wenn einer die Session-ID weitergibt, kann ja gleich seine Zugangsdaten abgeben.

MfG Tabuk
 
Nur wenn es über ein Netzwerk geht (eine Uni z.B. oder ein Firmennetzwerk oder ein Familiennetzwerk). Aber genau das war mein versteckter Hinweis ;)
 
nun genau dieses tutorial habe ich natürlich auch schon entdeckt, höhö, aber auch das hat irgendwie nich wirklich funktioniert, es wurde immer angezeigt, dass die zugangsdaten ungültig sind, aber das kann eigentlich nicht sein
 
Widersprichst du dich da nicht, Saila?
saila hat gesagt.:
Gibt einer die Session-Id, welche in der Adresse angehängt wird weiter, kann jeder aus dem ein und dem selben Netzwerk Mitgliederseiten ansehen.
saila hat gesagt.:
Um Contentinhalte nur für bestimmte Nutzer darzustellen, musst du (sofern kein Cookie gesetzt wird) auf die URL-Angehängte Session-Id zurückgreifen.

Prinzipiell sind Sitzungen von Grund auf nicht sicher. Denn die Identifizierung findet allein aufgrund der Sitzungs-ID statt, die – wie bereits teilweise erwähnt – auch einfach weitergegeben werden kann. Dabei ist es egal, ob sie per URL-Argument oder per Cookie weitergegeben wurde. Aus beiden lässt sich die Sitzungs-ID einfach herausholen. Cookies könnten je nach Speichermethode des Browsers sogar einfach kopiert werden.
Deshalb sollten zusätzliche Authentifizierungen vorgenommen werden. Gunter Ollmann beschreibt dabei ein mögliches Modell in seinem Fachbeitrag „Web Based Session Management“. Dieser scheint zwar für den normalen Gebrauch etwas übertrieben, zeigt jedoch ein solides Session-Managment-Modell.
 
Tabuk hat gesagt.:
Hallo,
hier das beste Tutorials für genau Deine Sache.

PHP:
// Session starten
session_start ();
// Datenbankverbindung aufbauen 
$connectionid = mysql_connect ("localhost", "root", ""); 
if (!mysql_select_db ("LoginSystem", $connectionid)) 
{ 
  die ("Keine Verbindung zur Datenbank"); 
}  

$sql = "SELECT * FROM member WHERE ".
    "(benutzername like '".$_REQUEST["benutzername"]."') AND ".
    "(kennwort = '".md5 ($_REQUEST["kennwort"])."')";
$result = mysql_query ($sql);

if (mysql_num_rows ($result) > 0)
{
  // Benutzerdaten in ein Array auslesen.
  $data = mysql_fetch_array ($result);
if ($data["id"] == 1)
{
  // Sessionvariablen erstellen und registrieren
    $_SESSION["id"] = $data["id"];
    $_SESSION["benutzername"] = $data["benutzername"];
header ("Location: membera.php");
}

elseif ($data["id"] == 2)
{
  // Sessionvariablen erstellen und registrieren
    $_SESSION["id"] = $data["id"];
    $_SESSION["benutzername"] = $data["benutzername"];
header ("Location: memberb.php");
}

else {
header ("Location: no_member.php");
}

}
else
{
header ("Location: index.php?fehler=1");
}
Anstelle von header ("Location:..."); geht auch INCLUDE um nur Teile einer Seite
anders da zu stellen.

MfG Tabuk



aber so muss ich doch für jeden user ein elseif eintragen, oder kann man das auch irgendwie machen, dass das mit der anmeldung automatisch eingetragen wird?
 
Zurück