Hallo,
Für eine Vereins Homepage habe ich ein kleines Login Script.
Soweit läuft alles, allerdings beschweren sich nun die Member das sie sich nach 24 Stunden neu einloggen müssen.
Genau, mein Login Script spiechert die IP. Nun würde ich das ganze gerne auf Cookie umbauen. Ich habe mich bereits daran versucht aber bin voll gescheitert.
Ich weiss, es ist nicht das Sicherste und Beste, aber es hat immer seine Dienste getan.
Hier mal mein Code, evtl hat wer Tips bezüglich Cookie oder gar nen Komplettes Script auf seinem Rechner.
Alles anzeigen
Und hier das eigentliche Login Script
Alles anzeigen
Für eine Vereins Homepage habe ich ein kleines Login Script.
Soweit läuft alles, allerdings beschweren sich nun die Member das sie sich nach 24 Stunden neu einloggen müssen.
Genau, mein Login Script spiechert die IP. Nun würde ich das ganze gerne auf Cookie umbauen. Ich habe mich bereits daran versucht aber bin voll gescheitert.
Ich weiss, es ist nicht das Sicherste und Beste, aber es hat immer seine Dienste getan.
Hier mal mein Code, evtl hat wer Tips bezüglich Cookie oder gar nen Komplettes Script auf seinem Rechner.
Quellcode
- // Prüfen ob eingeloggt
- function chkonline()
- {
- $anfrage = "SELECT `user_id` FROM `users_online` WHERE `ip` = '".$_SERVER['REMOTE_ADDR']."' AND `session` = '".session_id()."'";
- $ergebnis = mysql_query($anfrage);
- if($ergebnis !== false)
- {
- $anz = mysql_num_rows($ergebnis);
- if ($anz == 0)
- {
- return false;
- }
- $zeile = mysql_fetch_row($ergebnis);
- return $zeile[0];
- }
- else
- {
- return false;
- }
- }
- // Switch abfrage im Template ob User eingeloggt ist und bereiche sehen kann. Stammt aus dem phpbb2 bzw 3
- if ( chkonline() )
- {
- $template->assign_block_vars('switch_user_logged_out', array());
- }
- else
- {
- $template->assign_block_vars('switch_user_logged_in', array());
- }
Und hier das eigentliche Login Script
Quellcode
- if ( isset($_POST['submit']) )
- {
- $username = income($_POST['username']);
- $password = $_POST['password'];
- $message = false;
- $sql = "SELECT `id`, `username`, `passwort` FROM `users` WHERE `username` = '".$_POST['username']."'";
- $result = db_query($sql);
- $row = mysql_fetch_assoc($result);
- if ( !$_POST['username'] )
- {
- $message .= $lang['no_username']. '<br />';
- $fehler = true;
- }
- if ( !$_POST['password'] )
- {
- $message .= $lang['no_password']. '<br />';
- $fehler = true;
- }
- if ( !$_POST['username'] == $row['username'] )
- {
- $message .= $lang['no_login_user'] . '<br />';
- $fehler = true;
- }
- if ( !isset($fehler) )
- {
- if(chkonline() === false)
- {
- $sql = "DELETE FROM `users_online` WHERE `user_id` = '".$row['user_id']."' LIMIT 1";
- $result = db_query($sql);
- $sql = "INSERT INTO `users_online` VALUES('".$row['id']."','".$row['id']."','".$_SERVER['REMOTE_ADDR']."','".$session_id."')";
- $result = db_query($sql);
- $message .= $lang['login_ok'] . '<br />';
- }
- else
- {
- $message .= $lang['login_true'] . '<br />';
- }
- }
- }