Guest User

Untitled

a guest
Feb 13th, 2018
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.13 KB | None | 0 0
  1. <?php
  2.  
  3. class User {
  4.  
  5.  
  6. /**
  7. * Проверка email на уникальность
  8. * @param $email
  9. *
  10. * @return bool
  11. */
  12. public static function checkEmailExists( $email ) {
  13. //Подключение к базе
  14. $db = Db::getConnection();
  15.  
  16. $stmt = 'SELECT COUNT(*) FROM users WHERE email = :email';
  17.  
  18. $result = $db->prepare( $stmt );
  19. $result->bindParam( ':email', $email, PDO::PARAM_STR );
  20. $result->execute();
  21.  
  22. return $result->fetchColumn() ? true : false;
  23. }
  24.  
  25.  
  26. /**
  27. * Проверка логина на уникальность
  28. * @param $login
  29. *
  30. * @return bool
  31. */
  32. public static function checkLoginExists( $login ) {
  33. //Подключение к базе
  34. $db = Db::getConnection();
  35.  
  36. $stmt = 'SELECT COUNT(*) FROM users WHERE login = :login';
  37.  
  38. $result = $db->prepare( $stmt );
  39. $result->bindParam( ':login', $login, PDO::PARAM_STR );
  40. $result->execute();
  41.  
  42. return $result->fetchColumn() ? true : false;
  43. }
  44.  
  45.  
  46. /**
  47. * Регистрация пользователя, запись в базу данных
  48. * @param $first_name
  49. * @param $last_name
  50. * @param $login
  51. * @param $email
  52. * @param $gender
  53. * @param $password
  54. *
  55. * @return bool
  56. */
  57. public static function register( $first_name, $last_name, $login, $email, $gender, $password ) {
  58. // Соединение с БД
  59. $db = Db::getConnection();
  60.  
  61. $stmt = 'INSERT INTO users (first_name, last_name, login, email, gender, password) ' .
  62. 'VALUES (:first_name, :last_name, :login, :email, :gender, :password)';
  63.  
  64. $result = $db->prepare( $stmt );
  65. $result->bindParam( ':first_name', $first_name, PDO::PARAM_STR );
  66. $result->bindParam( ':last_name', $last_name, PDO::PARAM_STR );
  67. $result->bindParam( ':login', $login, PDO::PARAM_STR );
  68. $result->bindParam( ':email', $email, PDO::PARAM_STR );
  69. $result->bindParam( ':gender', $gender, PDO::PARAM_STR );
  70. $result->bindParam( ':password', $password, PDO::PARAM_STR );
  71.  
  72. return $result->execute();
  73. }
  74.  
  75.  
  76. /**
  77. * Регистрация пользователя, запись в базу данных
  78. * @param $id
  79. * @param $first_name
  80. * @param $last_name
  81. *
  82. * @return bool
  83. */
  84. public static function edit( $id, $first_name, $last_name ) {
  85. // Соединение с БД
  86. $db = Db::getConnection();
  87.  
  88. $stmt = 'UPDATE users SET first_name = :first_name, last_name = :last_name WHERE id = :id';
  89.  
  90. $result = $db->prepare( $stmt );
  91. $result->bindParam( ':id', $id, PDO::PARAM_INT );
  92. $result->bindParam( ':first_name', $first_name, PDO::PARAM_STR );
  93. $result->bindParam( ':last_name', $last_name, PDO::PARAM_STR );
  94.  
  95. return $result->execute();
  96. }
  97.  
  98.  
  99. /**
  100. * Удаление пользователя
  101. * @param $id
  102. *
  103. * @return bool
  104. */
  105. public static function delete( $id ) {
  106. // Соединение с БД
  107. $db = Db::getConnection();
  108.  
  109. $stmt = 'DELETE FROM users WHERE id = :id';
  110.  
  111. $result = $db->prepare( $stmt );
  112. $result->bindParam( ':id', $id, PDO::PARAM_INT );
  113.  
  114. return $result->execute();
  115. }
  116.  
  117.  
  118. /**
  119. * Проверяем существует ли пользователь с заданными $login и $password
  120. * @param string $login
  121. * @param string $password
  122. *
  123. * @return mixed : integer user id or false
  124. */
  125. public static function checkUser( $login, $password ) {
  126. // Соединение с БД
  127. $db = Db::getConnection();
  128.  
  129. $stmt = 'SELECT * FROM users WHERE login = :login AND password = :password';
  130.  
  131. $result = $db->prepare( $stmt );
  132. $result->bindParam( ':login', $login, PDO::PARAM_STR );
  133. $result->bindParam( ':password', $password, PDO::PARAM_STR );
  134. $result->execute();
  135.  
  136. $user = $result->fetch();
  137.  
  138. if ( $user ) {
  139. // Если запись существует, возвращаем id пользователя
  140. return $user['id'];
  141. }
  142.  
  143. return false;
  144. }
  145.  
  146.  
  147. /**
  148. * Получаем данные пользователя
  149. * @param integer $userId
  150. *
  151. * @return string user name
  152. */
  153. public static function getUser( $userId ) {
  154. // Соединение с БД
  155. $db = Db::getConnection();
  156.  
  157. $stmt = 'SELECT * FROM users WHERE id = :id';
  158.  
  159. $result = $db->prepare( $stmt );
  160. $result->bindParam( ':id', $userId, PDO::PARAM_INT );
  161. $result->execute();
  162.  
  163. return $result->fetch();
  164. }
  165.  
  166. }
Add Comment
Please, Sign In to add comment