Hallo,
Nun hab ich mal ein klizi kleines problemchien, dass mit dem MySQL hab ich hinbekommen und nun spient aber immer noch mien Register und mein Login rum also ich geb euch mal die codes
aber als erstes hier mal ne info
Wen man register eingibt hab ich es so gemacht das es mindestesn 5 zeichen sein sollen aber man kann weder 5 zeichen noch drunter noch drüber und wen man dan einen befehl zb man gibt /register ein und danach einen anderren befehl kommt das man sich registrit hat dan schau ich in die DB dan is der befehl mit register
zum anderren können die leute einfach spawnen ohne sich zu regi das will ich nicht
dan beim log in wen man /login eingibt kommt immer das ich schon register bin soll mich bitte einloggen die ganze zeit hier mal die codes jetzt
new cmd[128];
new str[100];
if(strcmp(cmd, "/register", true) == 0)
{
new password[14], tmp[128], RPassword[14];
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid,ADMIN_RED,"Gib /register <Passwort> ein, um dich zu registrieren!");
return 1;
}
password[13] = strval(tmp);
GetPlayerName(playerid, PlayerName, sizeof(PlayerName));
GetPlayerIp(playerid, PlayerIP, sizeof(PlayerIP));
if(MySQLCheckUserExistance(playerid))
{
SendClientMessage(playerid,ADMIN_RED,"Dein Nickname ist bereits registriert, bitte log dich doch ein.");
return 1;
}
if(strfind(tmp, ">", true) != -1 || strfind(tmp, "<", true) != -1)
{
SendClientMessage(playerid,ADMIN_RED,"Falsches Zeichen im Passwort");
return 1;
}
if(strlen(tmp) > 5)
{
SendClientMessage(playerid,ADMIN_RED,"Dein Passwort kann nicht länger als 5 Zeichen sein!");
return 1;
}
samp_mysql_real_escape_string(tmp, RPassword);
format(query, sizeof(query), "INSERT INTO `users` (`reg_id`, `name`, `password`, `admin_level`, `IP`) VALUES ('0', '%s', '%s', '0', '%s')",PlayerName,RPassword,PlayerIP);
samp_mysql_query(query);
format(query, sizeof(query), "SELECT `reg_id` FROM `users` WHERE `name` = '%s'", PlayerName);
samp_mysql_query(query);
samp_mysql_store_result();
if(samp_mysql_num_rows() == 0)
{
format(str, sizeof(str), "Kann nicht in die Datenbank %s schreiben", MYSQL_DB);
SendClientMessage(playerid, COLOR_RED, str);
return 1;
}
PlayerInfo[playerid][Admin] = 0;
SendClientMessage(playerid,ADMIN_GREEN,"Du hast dich erfolgreich Registrirt, bitte log dich mit /login ein.");
return 1;
}
//-------------------------// Login // ---------------------------------
if(strcmp(cmd, "/login", true) == 0)
{
new password[14], tmp[128];
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid,ADMIN_RED,"Du bist Nun eingeloggt!");
return 1;
}
password[13] = strval(tmp);
GetPlayerName(playerid, PlayerName, sizeof(PlayerName));
GetPlayerIp(playerid, PlayerIP, sizeof(PlayerIP));
if(PlayerInfo[playerid][Logged] == 1)
{
SendClientMessage(playerid,ADMIN_YELLOW,"Du bist bereits eingeloggt!");
return 1;
}
if(!MySQLCheckUserExistance(playerid))
{
SendClientMessage(playerid,ADMIN_RED,"Du bist noch nicht registriert, bitte registriere dich mit /register <Passwort>.");
return 1;
}
format(query, sizeof(query), "SELECT * FROM `users` WHERE `name` = '%s'", PlayerName);
samp_mysql_query(query);
samp_mysql_store_result();
samp_mysql_fetch_row(line);
new passwd[14];
samp_mysql_get_field("password", passwd);
if(strcmp(tmp, passwd, true) != 0)
{
if(PlayerInfo[playerid][FalseLogins] < 3)
{
PlayerInfo[playerid][FalseLogins] = PlayerInfo[playerid][FalseLogins] + 1;
format(str, sizeof(str), "Fehler: %s ist das falsche Passwort für den Account %s! (Warnung: Falsches Passwwort %d/3)", tmp, PlayerName, PlayerInfo[playerid][FalseLogins]);
SendClientMessage(playerid, ADMIN_RED, str);
}
else
{
PlayerInfo[playerid][FalseLogins] = 3;
format(str, sizeof(str), "Fehler: %s ist das falsche Passwort für den Account %s! (3/3 Warnung: Falsches Passwort voll)", tmp, PlayerName);
SendClientMessage(playerid, ADMIN_RED, str);
SendClientMessage(playerid, ADMIN_RED,"KICK: 3 falsche Loginversuche");
Kick(playerid);
}
return 1;
}
SendClientMessage(playerid,ADMIN_GREEN,"Du hast dich erfolgreich eingeloggt.");
PlayerInfo[playerid][Logged] = 1;
samp_mysql_get_field("money", str);
GivePlayerMoney(playerid, strval(str));
samp_mysql_get_field("admin_level", str);
PlayerInfo[playerid][Admin] = strval(str);
samp_mysql_get_field("times_logged", str);
PlayerInfo[playerid][TimesLogged] = strval(str);
PlayerInfo[playerid][TimesLogged] += 1;
new smail[60];
samp_mysql_get_field("email", smail);
format(query, sizeof(query), "UPDATE `users` SET `times_logged` = '%d' WHERE `name` = '%s'", PlayerInfo[playerid][TimesLogged], PlayerName);
samp_mysql_query(query);
return 1;
}
Hoffe auf hilfe