Wie ist es möglich sich mit der userid UND den nickname einzuloggen?
Wie ist es möglich sich mit der userid UND den nickname einzuloggen?
Ich nutze den Firefox nur um Opera Google Chrome runterzuladen
datei /lib/session.lib.php öffnen:
suchen:
damit ersetzen:PHP-Code:
$_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.PHP-Code:
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");
}
Kill one man, and you are a murderer.
Kill millions of men, and you are a conqueror.
Kill them all, and you are a god. - Jean Rostand, Thoughts of a Biologist (1939)
Oh danke werde ich dann demnächst mal testen weist du ob es mit vms1.1 auch so funktioniert?
Ich nutze den Firefox nur um Opera Google Chrome runterzuladen
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.
Kill one man, and you are a murderer.
Kill millions of men, and you are a conqueror.
Kill them all, and you are a god. - Jean Rostand, Thoughts of a Biologist (1939)
Also im 1.2 klappt das so leider nicht.
schau mal so sieht der login abschnitt im VMS 1.1 aus:
PHP-Code:
// 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';
}
Ich nutze den Firefox nur um Opera Google Chrome runterzuladen
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.
Kill one man, and you are a murderer.
Kill millions of men, and you are a conqueror.
Kill them all, and you are a god. - Jean Rostand, Thoughts of a Biologist (1939)