Advertisement
Guest User

Untitled

a guest
May 30th, 2016
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.56 KB | None | 0 0
  1. <?php
  2. $host = 'localhost';
  3. $user = 'test';
  4. $pass = 't3st3r123';
  5. $db = 'test';
  6. $prefix = 'anadarja';
  7. $l = mysqli_connect($host, $user, $pass, $db);
  8. mysqli_query($l, 'SET CHARACTER SET UTF8');
  9. /**
  10. * Laeb andmebaasist kirjed valitud lehekülje kohta ja tagastab need massiivina
  11. *
  12. * @param int $page Lehekülje number, mille kirjeid kuvada
  13. *
  14. * @return array Andmebaasi read
  15. */
  16.  
  17. function model_load($page)
  18. {
  19. global $l, $prefix;
  20. $max = 5;
  21. $start = ($page - 1) * $max;
  22. $query = 'SELECT Id, Nimetus, Kogus FROM '.$prefix.'__kaubad ORDER BY Nimetus ASC LIMIT ?,?';
  23. $stmt = mysqli_prepare($l, $query);
  24. if (mysqli_error($l)) {
  25. echo mysqli_error($l);
  26. exit;
  27. }
  28. mysqli_stmt_bind_param($stmt, 'ii', $start, $max);
  29. mysqli_stmt_execute($stmt);
  30. mysqli_stmt_bind_result($stmt, $id, $nimetus, $kogus);
  31. $rows = array();
  32. while (mysqli_stmt_fetch($stmt)) {
  33. $rows[] = array(
  34. 'id' => $id,
  35. 'nimetus' => $nimetus,
  36. 'kogus' => $kogus,
  37. );
  38. }
  39. mysqli_stmt_close($stmt);
  40. return $rows;
  41. }
  42. /**
  43. * Lisab andmebaasi uue rea
  44. *
  45. * @param string $nimetus Kirje nimetus
  46. * @param int $kogus Mitu tükki nimetust on
  47. *
  48. * @return int Lisatud rea ID
  49. */
  50. function model_add($nimetus, $kogus)
  51. {
  52. global $l, $prefix;
  53. $query = 'INSERT INTO '.$prefix.'__kaubad (Nimetus, Kogus) VALUES (?, ?)';
  54. $stmt = mysqli_prepare($l, $query);
  55. if (mysqli_error($l)) {
  56. echo mysqli_error($l);
  57. exit;
  58. }
  59. mysqli_stmt_bind_param($stmt, 'si', $nimetus, $kogus);
  60. mysqli_stmt_execute($stmt);
  61. $id = mysqli_stmt_insert_id($stmt);
  62. mysqli_stmt_close($stmt);
  63. return $id;
  64. }
  65. /**
  66. * Kustutab valitud rea andmebaasist
  67. *
  68. * @param int $id Kustutatava rea ID
  69. *
  70. * @return int Mitu rida kustutati
  71. */
  72. function model_delete($id)
  73. {
  74. global $l, $prefix;
  75. $query = 'DELETE FROM '.$prefix.'__kaubad WHERE Id=? LIMIT 1';
  76. $stmt = mysqli_prepare($l, $query);
  77. if (mysqli_error($l)) {
  78. echo mysqli_error($l);
  79. exit;
  80. }
  81. mysqli_stmt_bind_param($stmt, 'i', $id);
  82. mysqli_stmt_execute($stmt);
  83. $deleted = mysqli_stmt_affected_rows($stmt);
  84. mysqli_stmt_close($stmt);
  85. return $deleted;
  86. }
  87. /**
  88. * Uuendab rea kogust andmebaasis
  89. *
  90. * @param int $id Muudetava rea ID
  91. * @param int $kogus Uus koguse number
  92. *
  93. * @return bool Tagastab true kui uuendamine õnnestus
  94. */
  95. function model_update($id, $kogus)
  96. {
  97. global $l, $prefix;
  98. $query = 'UPDATE '.$prefix.'__kaubad SET Kogus=? WHERE Id=? LIMIT 1';
  99. $stmt = mysqli_prepare($l, $query);
  100. if (mysqli_error($l)) {
  101. echo mysqli_error($l);
  102. exit;
  103. }
  104. mysqli_stmt_bind_param($stmt, 'ii', $kogus, $id);
  105. mysqli_stmt_execute($stmt);
  106. if (mysqli_stmt_error($stmt)) {
  107. return false;
  108. }
  109. mysqli_stmt_close($stmt);
  110. return true;
  111. }
  112. /**
  113. * Lisab andmebaasi uue kasutaja. Õnnestub siis kui sarnast kasutajat pole olemas
  114. * Parool salvestatakse BCRYPT räsina
  115. *
  116. * @param string $kasutajanimi Kasutaja nimi
  117. * @param string $parool Kasutaja parool
  118. *
  119. * @return int lisatud kasutaja ID
  120. */
  121. function model_user_add($kasutajanimi, $parool)
  122. {
  123. global $l, $prefix;
  124. $hash = password_hash($parool, PASSWORD_DEFAULT);
  125. $query = 'INSERT INTO '.$prefix.'__kasutajad (Kasutajanimi, Parool) VALUES (?, ?)';
  126. $stmt = mysqli_prepare($l, $query);
  127. if (mysqli_error($l)) {
  128. echo mysqli_error($l);
  129. exit;
  130. }
  131. mysqli_stmt_bind_param($stmt, 'ss', $kasutajanimi, $hash);
  132. mysqli_stmt_execute($stmt);
  133. $id = mysqli_stmt_insert_id($stmt);
  134. mysqli_stmt_close($stmt);
  135. return $id;
  136. }
  137. /**
  138. * Tagastab kasutaja ID, kelle kasutajanimi ja parool klapivad
  139. *
  140. * @param string $kasutajanimi Otsitava kasutaja kasutajanimi
  141. * @param string $parool Otsitava kasutaja parool
  142. *
  143. * @return int Kasutaja ID
  144. */
  145. function model_user_get($kasutajanimi, $parool)
  146. {
  147. global $l, $prefix;
  148. $query = 'SELECT Id, Parool FROM '.$prefix.'__kasutajad WHERE Kasutajanimi=? LIMIT 1';
  149. $stmt = mysqli_prepare($l, $query);
  150. if (mysqli_error($l)) {
  151. echo mysqli_error($l);
  152. exit;
  153. }
  154. mysqli_stmt_bind_param($stmt, 's', $kasutajanimi);
  155. mysqli_stmt_execute($stmt);
  156. mysqli_stmt_bind_result($stmt, $id, $hash);
  157. mysqli_stmt_fetch($stmt);
  158. mysqli_stmt_close($stmt);
  159. // kontrollime, kas vabateksti $parool klapib baasis olnud räsiga $hash
  160. if (password_verify($parool, $hash)) {
  161. return $id;
  162. }
  163. return false;
  164. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement