Hallo,
ich habe ein Login-Script und würde dies gerne mit AutoLogin-Funktion via Cookie ausstatten.
Leider waren meine ersten Gehversuche kläglich und sind daher auch gescheitert.
Anbei lege ich mal die Scripte bei die ich habe.
Ich würde mich über jede Hilfe freuen.
Danke im voraus
login_formular
login.php
login_check.php
login_new.php
Diese Zeile möchte ich dann als Login-Option zusätzlich im Login_formular mit aufnehmen
ich habe ein Login-Script und würde dies gerne mit AutoLogin-Funktion via Cookie ausstatten.
Leider waren meine ersten Gehversuche kläglich und sind daher auch gescheitert.
Anbei lege ich mal die Scripte bei die ich habe.
Ich würde mich über jede Hilfe freuen.
Danke im voraus

login_formular
PHP-Code:
<!-- Login Start -->
<table align="center" cellpadding="0" cellspacing="0" border="0">
<form name="log" action="login.php" method="post">
<input type="hidden" name="action_step" value="index/login">
<input type="hidden" name="timeout" value="1">
<input type="hidden" name="cookie_check" value="0">
<tr><td class="text_login">Benutzername </td>
<td><input type="text" name="login_username" size="15" value="<? echo $login_name; ?>"></td>
<td> </td>
<td class="text_login">Passwort </td>
<td><input name="login_password" type="password" size="12"></td>
<td> </td>
<td valign="middle"> <a href="javascript:document.log.submit();" >
<font color="black">Login</font></a></td></tr>
<tr><td colspan="7" height="5"></td></tr></form></table>
<!-- Login End -->
login.php
PHP-Code:
<?
if(isset($action_step)) {
require("./inc/global_config.inc.php");
require("./inc/login_check.inc.php");
$SessionId = $sid;
session_register ("SessionId");
$MEMBER = $user_loginname;
session_register ("MEMBER");
?>
<script language="JavaScript">
<!--
window.location.href = "member.php?logmsg=<?PHP echo $logmsg; ?>";
//-->
</script>
<?
} else { die("<br><b>2Diese Datei darf nicht direkt Aufgerufen werden.</b>"); }
?>
PHP-Code:
<?
include("./inc/global_config.php");
/* setzte die Gueltigkeitszeit auf eine halbe Stunde ab jetzt */
$EXPIRE = time() + 60*30;
/* setzte die Gueltigkeitscheckzeit auf eine ein Stunde ab jetzt */
$FL = 60*30;
/* lese IP-Adresse aus */
$IP = $REMOTE_ADDR;
/* Browser-Kennung wird ausgelesen und auf 50 Zeichen gekuerzt */
$BROWSER = addslashes(substr($HTTP_USER_AGENT,-50));
/* Suche nach abgelaufene Eintraege */
mysql_query("UPDATE $member SET expire='2' WHERE expire+60*30<".time());
/* Pruefe ob ein Eintrag mit der sid, IP und Browser des Surfers vorliegt */
$result = mysql_query("SELECT * FROM $member WHERE
uin='".addslashes($sid)."' && expire>".time()." && ip='$IP' && browser='$BROWSER'");
if(mysql_num_rows($result) == 0) {
/* Wenn nicht, fuehre Login-Script aus */
include ("./inc/login_new..php");
} else {
/* Wenn alles ok, dann lese den Benutzernamen aus */
$MEMBER = mysql_result($result,0,0);
/* Erhoehe die Gueltigkeit des Logins */
mysql_query("UPDATE $member SET expire='$EXPIRE' WHERE user='$MEMBER'");
}
/* Entferne Benutzereinstellungen (s.o.) */
?>
login_new.php
PHP-Code:
<?
if(isset($EXPIRE)) {
$login_username = $HTTP_POST_VARS['login_username'];
$login_password = $HTTP_POST_VARS['login_password'];
$MEMBER = $login_username;
$crypt_passwd = md5($login_password);
if(isset($login_username) || isset($login_password)) {
/* USER-PASSWORD-Kombination existiert oder Fehlermeldung */
$result = mysql_query("SELECT * FROM $usr WHERE
user_nick='".addslashes($login_username)."'
&& user_passwd='".addslashes($crypt_passwd)."'");
if(mysql_num_rows($result) == 0) {
$logmsg = 1;
?>
<script language="JavaScript">
<!--
window.location.href = "index.php?page=login_error&logmsg=<?PHP echo $logmsg; ?>";
//-->
</script>
<?
exit;
}
if($timeout=="1"){
$namen = mysql_query("SELECT * from $member where user = '$MEMBER'");
if(mysql_num_rows($namen) == 1){
if($expire = mysql_result($namen,0,"expire")){
if($expire == "2"){
$logmsg=5;
/* Loesche abgelaufene Eintraege */
mysql_query("DELETE FROM $member WHERE user='$MEMBER'");
}
}
}
}
$result1 = mysql_query("SELECT * FROM $usr WHERE user_account_status='G' &&
user_nick='$login_username' && user_passwd='$crypt_passwd'");
if(mysql_num_rows($result1) == 1){
$account_sperre = "1";
$logmsg = 2;
?>
<script language="JavaScript">
<!--
window.location.href = "index.php?page=login_error&logmsg=<?PHP echo $logmsg; ?>";
//-->
</script>
<?
exit;
}
$result2 = mysql_query("SELECT * FROM $usr WHERE user_account_status='A' &&
user_nick='$login_username' && user_passwd='$crypt_passwd'");
if(mysql_num_rows($result2) == 1){
$logmsg = 3;
?>
<script language="JavaScript">
<!--
window.location.href = "index.php?page=login_error&logmsg=<?PHP echo $logmsg; ?>";
//-->
</script>
<?
exit;
}
/* Berechne neue eindeutige UIN */
srand((double)microtime()*1000000);
$sid = md5(uniqid(rand()));
$IP=$REMOTE_ADDR;
$r = "0";
mysql_query("DELETE FROM $member WHERE user='$MEMBER'");
mysql_query("INSERT INTO $member (user,uin,expire,ip,browser)
VALUES ('$MEMBER','$sid','$EXPIRE','$IP','$BROWSER')");
unset($PWD);
} else {
$logmsg = 1;
?>
<script language="JavaScript">
<!--
window.location.href = "index.php?page=login_error&logmsg=<?PHP echo $logmsg; ?>";
//-->
</script>
<?
exit;
}
} else {
die("<br><b>Diese Datei darf nicht direkt Aufgerufen werden.(1)</b>");
}
?>
Diese Zeile möchte ich dann als Login-Option zusätzlich im Login_formular mit aufnehmen
PHP-Code:
<tr><td colspan="7" class="text_klein"><b>Login-Option:</b>
<input type="radio" name="cookie_last" value="1" checked>Solange Browser offen
<input type="radio" name="cookie_last" value="2">24 Stunden
<input type="radio" name="cookie_last" value="3">1 Woche
<input type="radio" name="cookie_last" value="4">4 Wochen</td></tr>
Kommentar