Archiv verlassen und diese Seite im Standarddesign anzeigen : Login mit user id und nickname
Wie ist es möglich sich mit der userid UND den nickname einzuloggen?
datei /lib/session.lib.php öffnen:
suchen:
$_POST['nickname'] = addslashes($_POST['nickname']);
$login_check = db_query("SELECT k.uid,k.passwort,k.status,k.hinweis FROM
".$db_prefix."_userdaten u
LEFT JOIN ".$db_prefix."_kontodaten k ON k.uid=u.uid
WHERE u.nickname='".$_POST['nickname']."' AND k.passwort='".md5($_POST['passwort'])."' LIMIT 1");damit ersetzen:
if(ctype_digit($_POST['nickname'])){
$login_check = db_query("SELECT u.nickname,k.uid,k.passwort,k.status,k.hinweis FROM
".$db_prefix."_userdaten u
LEFT JOIN ".$db_prefix."_kontodaten k ON k.uid=u.uid
WHERE k.uid='".$_POST['nickname']."' AND k.passwort='".md5($_POST['passwort'])."' LIMIT 1");
}else{
$_POST['nickname'] = addslashes($_POST['nickname']);
$login_check = db_query("SELECT k.uid,k.passwort,k.status,k.hinweis FROM
".$db_prefix."_userdaten u
LEFT JOIN ".$db_prefix."_kontodaten k ON k.uid=u.uid
WHERE u.nickname='".$_POST['nickname']."' AND k.passwort='".md5($_POST['passwort'])."' LIMIT 1");
}
jetzt natürlich noch kenntlich machen, dass sich die user per id auch einloggen können.
Oh danke werde ich dann demnächst mal testen weist du ob es mit vms1.1 auch so funktioniert?
nee, das hab ich nicht.
aber der ansatz sollte ähnlich sein, kannst mir ja die session.lib.php vom 1.1er zukommen lassen oder hier posten.
Also im 1.2 klappt das so leider nicht.
schau mal so sieht der login abschnitt im VMS 1.1 aus:
// Login
if ($_POST['checkid'] == 'Login' && $_POST['userid'] && $_POST['passwort']) {
// SecVMS change begin
$_POST['userid'] = (int)$_POST['userid'];
// SecVMS change end
$login_check = db_query("SELECT `uid`,`passwort`,`status`,`hinweis` FROM ".$db_prefix."_kontodaten WHERE uid=".$_POST['userid']." and passwort='".md5($_POST['passwort'])."' LIMIT 1");
if (mysql_num_rows($login_check)) {
$login_check = mysql_fetch_array($login_check);
// Wenn User noch nicht freigeschaltet!
if ($login_check['status'] == 0) {
$_SESSION['uid'] = "";
$_SESSION['passwort'] = "";
$_SESSION['login'] = "";
$_GET['content'] = '/error/kein_zutritt';
}
// Wenn beim User alles O.K. ist!
if ($login_check['status'] == 1) {
db_query("UPDATE ".$db_prefix."_kontodaten SET login_ip='".$ip."' , loginzeit='".time()."' WHERE uid=".$_POST['userid']." and passwort='".md5($_POST['passwort'])."'");
if ($_POST['autologin'] == 'true') {
setCookie('uid',$login_check['uid'],time()+86400*30);
setCookie('passwort',$login_check['passwort'],time()+86400*30);
setCookie('autologin','true',time()+86400*30);
}
$_SESSION['uid'] = $login_check['uid'];
$_SESSION['passwort'] = $login_check['passwort'];
$_SESSION['login'] = "true";
header ("location: ".$domain);
die();
}
// Wenn User gesperrt wurde!
if ($login_check['status'] == 2) {
$_SESSION['uid'] = "";
$_SESSION['passwort'] = "";
$_SESSION['login'] = "";
$_GET['content'] = '/error/user_gesperrt';
}
} else {
$_GET['content'] = '/error/kein_zutritt';
}
} else {
if ($_POST['checkid'] == 'Login') $_GET['content'] = '/error/kein_zutritt';
}
im prinzip funktioneirt es da genauso, nur dass es statt $_POST['nickname'] im 1.1er $_POST['userid'] heißt, und dass die datenbank abfrage wahrscheinlich etwas anders aussehen muss, da ich das vms 1.1 aber nicht habe, kann ich dir die nicht basteln.
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.