|
|
Модератор форума: LightInDarkness |
Форум Web раздел Сайты / WWW для эмуляторов Функции для работы с базой realmd (Тема обновлена!) |
Функции для работы с базой realmd |
Функции для работы с базой realmd в trinity
Проверка логина и пароля: Code function checklogpass ($username, $password) { $login = mysql_real_escape_string($username); $sha_pass_hash = sha1(strtoupper($login) . ":" . strtoupper($password)); $query = "SELECT `id` FROM `account` WHERE `username`='{$login}' AND `sha_pass_hash`='{$sha_pass_hash}' LIMIT 1"; $sql = mysql_query($query) or die(mysql_error()); if (mysql_num_rows($sql) == 1) { $row = mysql_fetch_assoc($sql); return $row["id"]; } else { return 0; } }; Если логин и пароль верны, то функция вернёт id аккаунта, если нет, то 0 GM Level аккаунта: Code function getgmlvl ($accid) { $query = "SELECT `gmlevel` FROM `account_access` WHERE `id`='{$accid}' LIMIT 1"; $sql = mysql_query($query) or die(mysql_error()); if (mysql_num_rows($sql) == 1) { $row = mysql_fetch_assoc($sql); return $row["gmlevel"]; } else { return 0; } }; Без комментариев, думаю всё и так понятно Узнать забанен ли ip: Code function checkipban ($ip) { $query = "SELECT `unbandate` FROM `ip_banned` WHERE `ip`='{$ip}' LIMIT 1"; $sql = mysql_query($query) or die(mysql_error()); if (mysql_num_rows($sql) == 1) { $row = mysql_fetch_assoc($sql); return $row["unbandate"]; } else { return 0; } }; Если ip в бане, то возвращает время разбана в UNIX формате, если нет то 0 Узнать забанен ли аккаунт: Code function checkaccban ($accid) { $query = "SELECT `unbandate` FROM `account_banned` WHERE `id`='{$accid}' LIMIT 1"; $sql = mysql_query($query) or die(mysql_error()); if (mysql_num_rows($sql) == 1) { $row = mysql_fetch_assoc($sql); return $row["unbandate"]; } else { return 0; } }; Если аккаунт в бане, то возвращает время разбана в UNIX формате, если нет то 0 Узнать количество персонажей на аккаунте: Code function charscount ($accid, $realmid) { $query = "SELECT `numchars` FROM `realmcharacters` WHERE `acctid`='{$accid}' AND `realmid`='{$realmid}' LIMIT 1"; $sql = mysql_query($query) or die(mysql_error()); if (mysql_num_rows($sql) == 1) { $row = mysql_fetch_assoc($sql); return $row["numchars"]; } else { return 0; } }; Без комментариев, думаю всё и так понятно Узнать id аккаунта по имени пользователя: Code function idbyacc ($accname) { $login = strtoupper($accname); $query = "SELECT `id` FROM `account` WHERE `username`='{$login}' LIMIT 1"; $sql = mysql_query($query) or die(mysql_error()); if (mysql_num_rows($sql) == 1) { $row = mysql_fetch_assoc($sql); return $row["id"]; } else { return 0; } }; Если аккаунт найден, то возвращает его id, если нет, то 0 Узнать аккаунт по его id'у: Code function accbyid ($accid) { $query = "SELECT `username` FROM `account` WHERE `id`='{$accid}' LIMIT 1"; $sql = mysql_query($query) or die(mysql_error()); if (mysql_num_rows($sql) == 1) { $row = mysql_fetch_assoc($sql); return $row["username"]; } else { return 0; } }; Если аккаунт найден, то возвращает его имя, если нет, то 0 Узнать последний ip по имени аккаунта: Code function lastipbyacc ($accname) { $login = strtoupper($accname); $query = "SELECT `last_ip` FROM `account` WHERE `username`='{$login}' LIMIT 1"; $sql = mysql_query($query) or die(mysql_error()); if (mysql_num_rows($sql) == 1) { $row = mysql_fetch_assoc($sql); return $row["last_ip"]; } else { return 0; } }; Если аккаунт существует, то возвращает последний ip, если нет или в случае ошибки, то 0 Узнать последний ip по id'у аккаунта: Code function lastipbyaccid ($accid) { $query = "SELECT `last_ip` FROM `account` WHERE `id`='{$accid}' LIMIT 1"; $sql = mysql_query($query) or die(mysql_error()); if (mysql_num_rows($sql) == 1) { $row = mysql_fetch_assoc($sql); return $row["last_ip"]; } else { return 0; } }; Если аккаунт с заданым id'ом существует, то возвращает последний ip, если нет или в случае ошибки, то 0 Пример использования: Code <?php require("include/config.php"); require("include/functions.php"); mysql_connect($dbserv,$dblogin,$dbpass); mysql_select_db($realmdb); $q = checklogpass ("test,"test"); $w = getgmlvl("6"); $e = checkipban("123.45.67.89"); $r = checkaccban("181"); $t = charscount("6" ,"1"); $y = accbyid("6"); $u = idbyacc("test"); $i = lastipbyacc("test"); $o = lastipbyaccid("6"); echo "".$q."<br />"; echo "".$w."<br />"; echo "".$e."<br />"; echo "".$r."<br />"; echo "".$t."<br />"; echo "".$y."<br />"; echo "".$u."<br />"; echo "".$i."<br />"; echo "".$o."<br />"; ?> Писал для своего проекта, но проект стало делать лень), выкладываю вам, если есть замечания по функциям, пишите не стесняйтесь, увы в php я нуб, могу только так
:3
|
Code function checklogpass ($username, $password){ $login = mysql_real_escape_string($username); $sha_pass_hash = sha1(strtoupper($login).":".strtoupper($password)); $result = @mysql_fetch_array(mysql_query("SELECT `id` FROM `account` WHERE `username`='$login' AND `sha_pass_hash`='$sha_pass_hash' LIMIT 1")); if ($result["id"] > 0) { return $result["id"];} return 0; } Так не лучше?
DumpMe v1.0 - система автоматического переноса персонажей
Вышла в свет первая стабильная версия. Писать в скайп - razart8 |
| |||
| |||