public function loginCheck($num, $password) { $userdb = new UserDB(); $u = $userdb->login($num, $password); if ($u) { $d = array("id" => $u[0], "num" => $u[1], "username" => $u[2]); return $d; } else { return false; } }
<link type="text/css" rel="stylesheet" href="css/style.css"> <script type="text/javascript" src="js/jquery-1.11.3.min.js"></script> <script type="text/javascript" src="js/jquery-migrate-1.2.1.min.js"></script> <script type="text/javascript" src="js/javascript.js"></script> <meta charset="UTF-8"> <meta charset="UTF-8"> <title>Log in</title> </head> <body> <div class="flex-container"> <?php if ($_SERVER['REQUEST_METHOD'] == 'POST') { ?> <?php $user = new UserDB(); $errors = $user->login($_POST); ?> <?php if (count($errors) == 0) { ?> <?php header("Location: index.php"); exit; ?> <?php } ?> <?php } ?> <h1>Влизане</h1>
public static function authUser($login = false, $password = false) { if ($login) { $auth = true; } else { if (!session_id()) { session_start(); } if (!empty($_SESSION["auth_login"]) && !empty($_SESSION["auth_password"])) { $login = $_SESSION["auth_login"]; $password = $_SESSION["auth_password"]; } else { return; } $auth = false; } $user = new UserDB(); if ($auth) { $password = self::hash($password, Config::SECRET); } $select = new Select(); $select->from(self::$table, array("COUNT(id)"))->where("`login` = " . self::$db->getSQ(), array($login))->where("`password` = " . self::$db->getSQ(), array($password)); $count = self::$db->selectCell($select); if ($count) { $user->loadOnLogin($login); if ($user->activation != "") { throw new Exception("ERROR_ACTIVATE_USER"); } if ($auth) { $user->login(); } return $user; } if ($auth) { throw new Exception("ERROR_AUTH_USER"); } }
public static function authUser($login = false, $password = false) { if ($login) { $auth = true; } else { //значит проверка данных в сесии if (!session_id()) { session_start(); } //стартуем сесию if (!empty($_SESSION["auth_login"]) && !empty($_SESSION["auth_password"])) { //если логин и пароль не пустые $login = $_SESSION["auth_login"]; //то данные берутся из сесии $password = $_SESSION["auth_password"]; } else { return; } //если не авторизация и данные не из сесии значит вазвращаемся $auth = false; //а авторизация false } $user = new UserDB(); if ($auth) { $password = self::hash($password, Config::SECRET); } //если авторизация переданный пароль хэшеруем $select = new Select(); //ищем пользователя отвечаютщего запросу (соответствие логина пароля) $select->from(self::$table, array("COUNT(id)"))->where("`login` = " . self::$db->getSQ(), array($login))->where("`password` = " . self::$db->getSQ(), array($password)); $count = self::$db->selectCell($select); //ищем количество соответствующих (логину паролю)пользователей if ($count) { $user->loadOnLogin($login); //загружаем пользователя if ($user->activation != "") { throw new Exception("ERROR_ACTIVATE_USER"); } //если пользователь не активированн выводим ошибку if ($auth) { $user->login(); } //если авторизация делаем логин return $user; //возвращаем юзера } if ($auth) { throw new Exception("ERROR_AUTH_USER"); } //возвращаем ошибку если не был найден пользователем с таким логином и паролем }