Advertisement
Guest User

Ответ по PHP

a guest
Mar 21st, 2018
209
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.53 KB | None | 0 0
  1. БЫЛО
  2.  
  3. <?php
  4.  
  5. class User extends ...
  6. {
  7. public function authorize($login, $password)
  8. {
  9. $login = addslashes($login);
  10. $password = addslashes($password);
  11. $db = DBHandler->instance();
  12.  
  13. $user = $db->getRow("SELECT * FROM users WHERE login = '$login' AND password = '$password'");
  14. $this->authorized = !!$user;
  15. }
  16. }
  17.  
  18.  
  19. ?>
  20.  
  21. СТАЛО
  22. <?php
  23.  
  24. class User extends ...
  25. {
  26. public function authorize($login, $password)
  27. {
  28. $login = !get_magic_quotes_gpc() ? addslashes( $login ) : $login;
  29. $password = !get_magic_quotes_gpc() ? addslashes($password) : $password;
  30.  
  31. $this->authorized = false;
  32. if ( !empty( $login ) && !empty( $password ) )
  33. {
  34. //Добавив try мы уберигаем себя от возможной ошибки в instance(), getRow()
  35. try
  36. {
  37.  
  38. /*Не понятно одно! Что из себя представляет DBHandler ? Либо это намеренная ошибка либо что то из следующих:
  39. 1) DBHandler должен быть либо сингелтон и мы должны обращятся к нему вот так DBHandler::instance()
  40. 2) DBHandler должен быть членом этого же класса которому мы должны обращятся вот так $this->DBHandler->instance()
  41. 3) DBHandler должен быть функцией в которой есть статическая переменная к которой присываевается экземляр класса для работы с базой( по сути велосипед аля "сингелтон" из функции ) и мы должны обращятся вот так DBHandler()->instance()
  42. */
  43. $db = DBHandler->instance();
  44.  
  45. $user = $db->getRow("SELECT * FROM users WHERE login = '$login' AND password = '$password'");
  46.  
  47. //Тут мы удостоверились в том что $user это массив с данными о пользователе и при этом этот массив не пуст. В любом другом случай это будет означать что пользователь не найден или же произошла ошибка
  48. $this->authorized = is_array( $user ) && sizeof( $user );
  49. } catch (Exception $e)
  50. {
  51. }
  52. }
  53.  
  54. }
  55. }
  56.  
  57.  
  58. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement