Advertisement
cooler-spb

Untitled

Aug 1st, 2018
266
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.15 KB | None | 0 0
  1. <?
  2. class Guestbook {
  3. var $result; // Main query result;
  4. var $count_result; // Count query result;
  5. var $dbc; // Database connection;
  6. var $total_entries; // How many records in database;
  7. var $table = "newsru"; // Guestbook table;
  8. function connect_db($server, $database, $user, $password)
  9. {
  10. $this->dbc = mysql_connect($server, $user, $password) or die ("Connection failed!");
  11. mysql_select_db($database) or die ("Database failed!");
  12. }
  13. function display_records($offset, $entries_per_page)
  14. {
  15. $this->result = mysql_query("SELECT id, name, email, message, date FROM $this->table ORDER BY id DESC LIMIT $offset, $entries_per_page") or die ("Query failed!");
  16. while ($row = mysql_fetch_array($this->result)) {
  17. $id = nl2br(htmlspecialchars($row["id"]));
  18. $display_name = nl2br(htmlspecialchars($row["name"]));
  19. $display_email = nl2br(htmlspecialchars($row["email"]));
  20. $display_message = nl2br(htmlspecialchars($row["message"]));
  21. $display_message = str_replace ("&lt;img src=smiles/", "<img src=smiles/", $display_message);
  22. $display_message = str_replace ("&gt;", ">", $display_message);
  23. echo "<p class=text>Дата: <b>[" . $display_name . " ]</b><br>" . "Тема: $display_email" . "</a><br><br>" . $display_message."<form><input type=hidden name=id value=$id><input type=submit value=Удалить></form></p><hr width=90%>";
  24. }
  25. $this->count_result = mysql_query("SELECT count(id) AS number FROM $this->table") or die ("Query failed!");
  26. while ($count = mysql_fetch_array($this->count_result)) {
  27. $total_entries = $count["number"];
  28. }
  29. $pages = $total_entries / $entries_per_page;
  30. if ($pages < 1) {
  31. $pages = 1;
  32. }
  33. if ($pages / (int) $pages <> 1) {
  34. $pages = (int) $pages + 1;
  35. }
  36. else {
  37. $pages = $pages;
  38. }
  39. if (($offset > $total_entries) or (!is_numeric($offset)))
  40. $offset = 0;
  41. $pagenow = ($offset/$entries_per_page + 1);
  42. echo "<div align=center><br>Страница " . $pagenow . " из " . $pages;
  43. $next = $offset + $entries_per_page;
  44. $previous = $offset - $entries_per_page;
  45. if ($pages <> 1) {
  46. echo " || ";
  47. if ($previous < 0) {
  48. echo "<a href=gb.php?offset=" . $next . ">";
  49. echo "<acronym title='Next " . $entries_per_page . " records'>>>></acronym></a>";
  50. }
  51. elseif ($next >= $total_entries) {
  52. echo "<a href=gb.php?offset=" . $previous . ">";
  53. echo "<acronym title='Previous " . $entries_per_page . " records'><<<</acronym></a>";
  54. }
  55. else {
  56. echo "<a href=gb.php?offset=" . $previous . ">";
  57. echo "<acronym title='Previous " . $entries_per_page . " records'><<<</acronym></a>";
  58. echo " | ";
  59. echo "<a href=gb.php?offset=" . $next . ">";
  60. echo "<acronym title='Next " . $entries_per_page . " records'>>>></acronym></a>";
  61. }
  62. echo "</div><br>";
  63. }
  64. echo "<div align=center>Страниц: ";
  65. $i = 0;
  66. while ($i < $pages) {
  67. $ri = $i + 1;
  68. $showpage = $i * $entries_per_page;
  69. if ($ri == $pagenow)
  70. echo $ri . " ";
  71. else
  72. echo "<a href=gb.php?offset=" . $showpage . ">" . $ri . "</a> ";
  73. $i++;
  74. }
  75. echo "</div>";
  76. }
  77. function add_record($name, $email, $message, $smilies="on", $webmaster, $message_length, $language_filter, $bad_words)
  78. {
  79. if ($email == "") {
  80. $email = "no_email";
  81. }
  82. if (($language_filter == 1) and (strlen($webmaster) <> 0)) {
  83. for ($i=0;$i<sizeof($bad_words);$i++) {
  84. if ((strstr($name, $bad_words[$i])) or (strstr($email, $bad_words[$i])) or (strstr($message, $bad_words[$i]))) {
  85. $warningmessage = "Дата: " . $name . "\nТема: " . $email . "\nСообщение: " . $message;
  86. @mail($webmaster, "Bad language in the guestbook", $warningmessage);
  87. }
  88. }
  89. }
  90. if ($message_length <> 0) {
  91. $message = substr($message, 0, $message_length);
  92. }
  93.  
  94. $this->result = mysql_query("INSERT INTO $this->table (name, email, message, date) VALUES ('$name', '$email', '$message', NOW())");
  95. // if (strlen($webmaster) <> 0) {
  96. // $sendmessage = "Name: " . $name . "\nEmail: " . $email . "\nMessage: " . $message;
  97. // @mail($webmaster, "Guestbook signed", $sendmessage);
  98. // }
  99. if (!$this->result)
  100. echo "Error!";
  101. }
  102.  
  103. function del_record($id)
  104. {
  105. $this->result = mysql_query("DELETE FROM $this->table WHERE id=$id");
  106. if (!$this->result)
  107. echo "Error!";
  108. }
  109.  
  110. function disconnect_db()
  111. {
  112. mysql_close($this->dbc);
  113. }
  114. }
  115. $webmaster = 'phil@peterhost.ru';
  116. $server = 'jurid.mysql';
  117. $database = 'db_jurid_1';
  118. $user = 'dbu_jurid_1';
  119. $password = 'TOw3e:Jt';
  120. $entries_per_page = 5;
  121. $message_length = 1024;
  122. $language_filter = 0;
  123. $bad_words = array (
  124. 'fuck', 'cunt', 'asshole',
  125. 'dick', 'pussy', 'bitch',
  126. 'motherfucker', 'nigger'
  127. );
  128. $myGB = new Guestbook;
  129. $myGB->connect_db($server, $database, $user, $password);
  130. if (isset($message)) {
  131. if (!isset($smilies))
  132. $myGB->add_record($name, $email, $message, "no", $webmaster, $message_length, $language_filter, $bad_words);
  133. else
  134. $myGB->add_record($name, $email, $message, $smilies, $webmaster, $message_length, $language_filter, $bad_words);
  135. }
  136. if (isset($id)) {
  137. $myGB->del_record($id);
  138. }
  139. if ((!isset($offset)) or ($offset < 0) or (!is_numeric($offset))) $offset = 0;
  140. $myGB->display_records($offset, $entries_per_page);
  141. $myGB->disconnect_db();
  142. ?>
  143. <div align=center>
  144. <table border=0 cellspacing=10 cellpadding=10 width=85% align=center>
  145. <tr>
  146. <td valign=top align=center width=60%>
  147. <p>
  148. (*) Обязательные поля
  149. <form name=myGB action=news.php method=post>
  150. * Дата:<br><input type='text' name='name' size=40 maxlength=40><br>
  151. Тема:<br><input type='text' name='email' size=40 maxlength=100><br>
  152. * Сообщение:<br><textarea name='message' rows=10 cols=40></textarea><br>
  153. <br>
  154. <input type=submit value='Оставить сообщение'">
  155. </form>
  156. </td>
  157. </tr>
  158. </table>
  159. </div>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement