Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- БЫЛО
- <?php
- class User extends ...
- {
- public function authorize($login, $password)
- {
- $login = addslashes($login);
- $password = addslashes($password);
- $db = DBHandler->instance();
- $user = $db->getRow("SELECT * FROM users WHERE login = '$login' AND password = '$password'");
- $this->authorized = !!$user;
- }
- }
- ?>
- СТАЛО
- <?php
- class User extends ...
- {
- public function authorize($login, $password)
- {
- $login = !get_magic_quotes_gpc() ? addslashes( $login ) : $login;
- $password = !get_magic_quotes_gpc() ? addslashes($password) : $password;
- $this->authorized = false;
- if ( !empty( $login ) && !empty( $password ) )
- {
- //Добавив try мы уберигаем себя от возможной ошибки в instance(), getRow()
- try
- {
- /*Не понятно одно! Что из себя представляет DBHandler ? Либо это намеренная ошибка либо что то из следующих:
- 1) DBHandler должен быть либо сингелтон и мы должны обращятся к нему вот так DBHandler::instance()
- 2) DBHandler должен быть членом этого же класса которому мы должны обращятся вот так $this->DBHandler->instance()
- 3) DBHandler должен быть функцией в которой есть статическая переменная к которой присываевается экземляр класса для работы с базой( по сути велосипед аля "сингелтон" из функции ) и мы должны обращятся вот так DBHandler()->instance()
- */
- $db = DBHandler->instance();
- $user = $db->getRow("SELECT * FROM users WHERE login = '$login' AND password = '$password'");
- //Тут мы удостоверились в том что $user это массив с данными о пользователе и при этом этот массив не пуст. В любом другом случай это будет означать что пользователь не найден или же произошла ошибка
- $this->authorized = is_array( $user ) && sizeof( $user );
- } catch (Exception $e)
- {
- }
- }
- }
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement