Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: ksiega gosci na oop
Forum PHP.pl > Forum > PHP
hhg
napisalem klase do ksiegi gosci
  1. <?php
  2. kod nieaktualny
  3. ?>


pod Windows dodawanie nowych wpisów mi działa a pod Linux nie, sami zobaczcie, po wypelnieniu formularza i przeladowaniu strony pokazuje sie czarny ekran (tzn nic nie wypisuje)..
link
prosze o pomoc
mike
Problem nie jest związany stricte z OOP.
Przenoszę z OOP na PHP
sf
Powywalaja te wszystkie @ i zobacz jaki błąd wyskoczy. Tej @ się nie stosuje.
misiek172
małe wyjaśnienie:

ponieważ @ powoduje, iż w razie wystąpienia błędy, jest on pomijany i nie wyświetlany
hhg
niestety dalej nie widać rezultatów przeładowania strony
kod po poprawkach

  1. <?php
  2.  
  3.  
  4. class book
  5. {
  6.  
  7. private $dbc;
  8. public $err;
  9.  
  10. private function connect() {
  11. DEFINE ('DB_USER', 'login');
  12. DEFINE ('DB_PASSWORD', 'haslo');
  13. DEFINE ('DB_HOST', 'localhost');
  14. DEFINE ('DB_NAME', 'nazwa_bazy');
  15.  
  16. $this->dbc = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD) OR die ('Nie mogłem połączyć się z MySQL-em: ' . mysql_error() );
  17. mysql_select_db(DB_NAME) OR die ('Connection to database failed: ' . mysql_error() );
  18. }
  19.  
  20.  
  21. public function escape_data ($data) {
  22.  
  23. if ( !empty($data) ) {
  24. if ( ini_get('magic_quotes_gpc') ) {
  25. $data = stripslashes($data);
  26. }
  27.  
  28. return mysql_real_escape_string($data, $this->dbc);
  29.  
  30. } else {
  31. $this->err = "<font color = "red">Nie wypełniono wymaganych pól.</font>";
  32. return false;
  33.  
  34. }
  35.  
  36.  
  37. }
  38.  
  39.  
  40. public function view() {
  41. $this->connect();
  42.  
  43. $result = mysql_query("SELECT id, guest, message, DATE_FORMAT(date,'%d-%m-%Y %T') date, email, www, gg FROM guestbook ORDER BY date DESC");
  44.  
  45. $i = mysql_num_rows($result);
  46.  
  47. echo '
  48. <p align = "center"> <a href="' . $_SERVER['PHP_SELF'] . '?mod=add" class="menu">dodaj wpis</a> </p> <br />
  49. <table width = "100%">';
  50.  
  51. while ( $row = mysql_fetch_array($result) ) {
  52. echo '
  53. <tr><td><br /></td></tr>
  54. <tr>
  55. <td>
  56. <p class="para"><b>' . $i . '.</b> ' . $row['message'] . ' <br /><br />
  57. <i><a href="mailto:' . $row['email'] . '">' . $row['guest'] . '</a>, ' . $row['date'] . '</i> <br />
  58. www: <a href="http://' . $row['www'] . '" target="_blank">' . $row['www'] . '</a> | gg: <a href="gg:' . $row['gg'] . '"><img border="0" src="http://www.gadu-gadu.pl/users/status.asp?id=' . $row['gg'] . '" width="16" height="16">' . $row['gg'] . '</a></p>
  59. <div align="center"><hr size="1" width="80%"></div>
  60. </td>
  61. </tr>
  62. ';
  63.  
  64. $i--;
  65. }
  66.  
  67. echo '</table>';
  68.  
  69. }
  70.  
  71.  
  72. public function add()
  73. {
  74.  
  75. if ( isset( $_POST['submit'] ) ) {
  76.  
  77. $this->connect();
  78.  
  79. $message = '';
  80.  
  81. $guest = $this->escape_data($_POST['guest']);
  82. $message = $this->escape_data($_POST['message']);
  83. $email = $this->escape_data($_POST['email']);
  84. $www = $this->escape_data($_POST['www']);
  85. $gg = $this->escape_data($_POST['gg']);
  86.  
  87.  
  88. if (!empty($this->err)) {
  89. echo $err . '<br />';
  90. //include('footer.inc');
  91. }
  92.  
  93.  
  94. #Pobieranie adresu IP
  95. $ip=$_SERVER['REMOTE_ADDR'];
  96. #Pobieranie serwera
  97. $host=gethostbyaddr($ip);
  98. #Pobieranie adresu strony
  99. $document=$_SERVER['HTTP_REFERER'];
  100.  
  101.  
  102. if ( mysql_query("INSERT INTO guestbook (id, guest, message, date, email, www, gg)
  103. VALUES (NULL , '$guest', '$message', NOW(), '$email', '$www', '$gg')") ) {
  104. echo '<div class="para" align ="center">
  105. <p class="para">Dziękuję za dodanie wpisu do księgi.<br />
  106. <a href="' . $_SERVER['PHP_SELF'] . '">Powrót do księgi.</p>
  107. </div>';
  108. mail('moj@adres.pl','nowy wpis w ksiedze Isengard','ip: ' . $ip . ', host: ' . $host . ', sciezka: ' . $document,'from: moj@adres.pl');
  109. } else {
  110. echo 'wystapił blad w systemie, przepraszamy';
  111. }
  112.  
  113. }
  114.  
  115. echo '
  116. <p align = "center"> <a href="' . $_SERVER['PHP_SELF'] . '" class="menu">wróć do księgi</a> </p><br />
  117.  
  118. <form action="guestbook.php?mod=add" method="POST">
  119. <table width = "100%">
  120. <tr>
  121. <td align="right" class="para">
  122. ksywa:
  123. </td>
  124. <td align="left">
  125. <input type="text" name="guest" size="30" maxlength="50" />
  126. </td>
  127. </tr>
  128. <tr>
  129. <td align="right" class="para">
  130. wpis:
  131. </td>
  132. <td align="left">
  133. <textarea name="message" cols="40" rows="7"></textarea>
  134. </td>
  135. </tr>
  136. <tr>
  137. <td align="right" class="para">
  138. e-mail:
  139. </td>
  140. <td align="left">
  141. <input type="text" name="email" size="30" maxlength="50" />
  142. </td>
  143. </tr>
  144. <tr>
  145. <td align="right" class="para">
  146. www (bez http://):
  147. </td>
  148. <td align="left">
  149. <input type="text" name="www" size="30" maxlength="100" />
  150. </td>
  151. </tr>
  152. <tr>
  153. <td align="right" class="para">
  154. gg:
  155. </td>
  156. <td align="left">
  157. <input type="text" name="gg" size="30" maxlength="7" />
  158. </td>
  159. </tr>
  160. </table>
  161. <br />
  162. <div align="center">
  163. <input type="submit" name="submit" value="wyślij" />
  164. <input type="reset" name="reset" value="wyczyść" />
  165. </div>
  166. </form>
  167. ';
  168.  
  169.  
  170. }
  171.  
  172.  
  173. }
  174.  
  175.  
  176. ?>
  177.  
  178. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  179. <html>
  180.  
  181. <head>
  182. <meta http-equiv="Content-Language" content="pl">
  183. <meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-2">
  184. <link rel="stylesheet" href="style.css" type="text/css">
  185. <title>:: ISENGARD :: guestbook</title>
  186. </head>
  187. <body bgcolor="black"><br>
  188.  
  189.  
  190. <?php
  191.  
  192. $odwiedziny = new book();
  193.  
  194. if ($_GET['mod'] == 'add')
  195. $odwiedziny->add();
  196. else
  197. $odwiedziny->view();
  198.  
  199.  
  200.  
  201. ?>
  202.  
  203.  
  204. <br /><br />
  205. <p class="para" align="left">&nbsp;<a href="java script:window.close();" class="genmed">Zamknij Okno</a></p>
  206. </body>
  207. </html>


najdziwniejsze jest to ze ktos jak gdyby nigdy nic sie dopisal do ksiegi??exclamation.gif!


edit
ok poprawilem jeszcze pare drobizgów i działa
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.