Hello,
if($select_log and (mysql_num_rows($select_log)==1))
{
session_start();
$_SESSION['sess_id'] = session_id();
$_SESSION['pass'] = $mppass_sql;
$_SESSION['login'] = time(); ## das sollte man vorher in eine Variable
$_SESSION['lastclick'] = time(); ## packen, damit auch in beiden dasselbe drinsteht
}
So ungefähr geht das auch. Man sucht einen Datensatz, bei dem Logiiname und Passwort zueienander passen. Es muss genau einen geben. Das setze natürlich voraus, dass es den Anmeldenamen nicht mehrfach in der Tabelle gibt.
coool danke....
bitte.
und wie kann ich jetzt quasi auf den nachfolgenden seiten prüfen ob er noch eingeloggt ist?
damit ich quasi diese abfrage nicht auf jeder seite schreiben muss??
Du prüfst als erstes, ob ein Cookie für session_name() bzw den Sessionnamen, den Du benutzt gesendet wurde
$sessionnname = ... ;
if (isset($_COOKIE[$sessionname]) and strlen($_COOKIE[$sessionname]==32)
{
session_start();
}
## von hier ab sind die Sessionvraiablen vorhanden
if (isset($_SESSION['login']) and ($_SESSION['login'] > 0)) ## ist er überhaupt angemeldet?
{
## hier kann man dann noch prüfen, wie lange der Surfer schon angemeldet ist.
if (isset($_SESSION['lastclick'])
and ($_SESSION['lastclick']-($_SESSION['login']) <= MAXWAIT))
{
## alles OK
$_SESSION['lastclick'] = time();
## weitermachen lassen
}
else
{
## Session zwangslöschen und
## Neuanmeldung anfordern.
}
}
Mal Dir auf jeden fall ein Bild, was wann zu prüfen ist in welcher Reihenfolge.
Es empfiehlt sich aber, die Rechte in der DB jedes Mal zu prüfen. Dann kann man die nämlich auch während einer Session des Users ändern und beim nächsten Click gelten diese bereits.
Also müsstest Du die Verfahren noch etwas modifizieren.
Außerdem solltest Du dich entscheiden, ob Du Cookies vorschreiben willst. Sonst wäre es ja Quatsch, danach zu Fragen. Ich würde das aber empfehlen.
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau