Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php]shoutbox pytan kilka
Forum PHP.pl > Forum > Przedszkole
Glukozamina
Witam . Poniżej mam kod shoutboxa . Jak zrobić :
1. Gdy wpisze ":)" to w shoutboxie pojawi mi się buźka smile.gif
2. Aby w nim pisać trzeba być zalogowanym . Mój nick w bazie danych ma id=38. Jak przypisac dowolnemu wybranemu przeze mnie id aby również miały możliwośc moderowania. czyli przy każdej wiadomości  opcje edytuj wpis i usun wpis w shoutboxie . w skrócie: Aby przy każdym wpisie tylko mi i tym co chcę pojawiały się opcje usun edytuj.
3.Aby wyświetlało tylko 10 wiadomości a  kolejne 20 było w podlinku archiwum gdzie można je przeczytać a reszta się kasuje .
4.Aby tlo wiadomości 1 było podświetlane kolorem a . A tło wiadomości 2 było podświetlane kolorem b tło wiadmości 3 znów kolorem a i tło 4 wiadomości kolorem b i tak w kółko.

skrypt został przerobiony w 50 % przezemnie więc mimo że działa domyslam się ,że są jakieś błedy składniowe .

Pozdrawiam i z niecierpliwością czekam na odpowiedź.

  1. <?php
  2. if(!isset($_SESSION['zalogowany'])){
  3. echo "Aby pisać musisz się zalogować ";
  4. }
  5.  
  6. if(isset($_SESSION['zalogowany'])){
  7.  echo "<form method='GET' action='index.php'> ";
  8.  echo "<input type='text' name='tresc' value='tresc' size='40'>";
  9.  echo "<input type='submit' value='Dodaj'>";
  10.  echo "</form>";
  11. }
  12. ?>
  13.  
  14. <?php
  15.  
  16. function dodaj($id, $nick, $tresc, $time){
  17.  
  18. /*sprawdzenie poprawości przekazanych danych*/
  19.  
  20.  
  21. if($tresc == ''){
  22. echo("Brak danych. Proszę wypełnić pole: Treść.");
  23. return;
  24. }
  25. if($id == '') $id = 'NULL';
  26.  
  27. $time=(date("H:i:s"));
  28.  $ip=($_SERVER['REMOTE_ADDR']); 
  29.  
  30.  $nick=($_SESSION['zalogowany']);
  31.  
  32.  
  33. /*Nawiązanie połączenia z bazą*/
  34.  
  35. if (!$db_lnk = @mysql_connect("mysql3.yoyo.pl", "db486994", "xxxxxxxxxx")){
  36. echo('Wystąpił błąd podczas próby połączenia z serwerem MySQL...<BR>');
  37. return;
  38. }
  39.  
  40. if(!@mysql_select_db('db486994')){
  41. echo('Wystąpił błąd podczas wyboru bazy danych: biblioteka<BR>');
  42. return;
  43. }
  44.  
  45. /*Utworzenie i wykonanie zapytania*/
  46.  
  47. $query = "INSERT INTO shoutbox VALUES(";
  48. $query .= "'$id', '$nick', '$tresc', '$time', '$ip'";
  49. $query .= ")";
  50.  
  51.  
  52. if(!mysql_query($query, $db_lnk)){
  53. echo 'Wystąpił błąd: zapytanie zostało odrzucone...<br />Zapytanie: <pre>' . $query . '</pre>Odpowiedź MySQL: <pre>' . mysql_error( $db_lnk ) . '</pre>';
  54. return;
  55. }
  56.  
  57.  
  58.  
  59. /*Pobranie informacji o liczbie wstawionych wierszy*/
  60.  
  61. $rowsNo = mysql_affected_rows($db_lnk);
  62.  
  63. echo("Dziękuje za pozostawioną wiadomość . Pozdroffionka<br>");
  64. echo("Liczba dodanych rekordów: $rowsNo<br>");
  65.  
  66.  
  67. /*Zamknięcie połączenia z bazą*/
  68.  
  69. if(!@mysql_close()){
  70. echo('Wystąpił błąd podczas zamykania połączenia z serwerem MySQL...<br>');
  71. }
  72. }
  73.  
  74. if(isSet($_GET['tresc'])){
  75. dodaj($_GET['$id'], $_GET['$nick'], $_GET['tresc'], $_GET['$time'], $_GET['$ip']);
  76. }
  77. else{
  78. echo("Niepoprawne dane!");
  79. }
  80.  
  81. ?>
  82.  
  83.  
  84.  
  85.  
  86.  
  87.  
  88. <?php
  89. /*Nawiązanie połączenia z bazą*/
  90.  
  91. if (!$db_lnk = @mysql_connect("mysql3.yoyo.pl", "db486994", "xxxxxxxxxxxx")){
  92. echo('Wystąpił błąd podczas próby połączenia z serwerem MySQL...<BR>');
  93. return;
  94. }
  95.  
  96. if(!@mysql_select_db('db486994')){
  97. echo('Wystąpił błąd podczas wyboru bazy danych: biblioteka<BR>');
  98. return;
  99. }
  100.  
  101. /*sortowanie*/
  102.  
  103. $sort='id DESC';
  104.  
  105. if(isSet($_GET['sortid'])){
  106. switch($_GET['sortid']){
  107.  case 1: $sort='tresc ASC'; break;
  108. case 2: $sort='nick ASC'; break;
  109. case 3: $sort='czas DESC'; break;
  110.  
  111. default: $sort = 'id DESC'; break;
  112.  
  113. }
  114. }
  115.  
  116.  
  117.  
  118.  $query = 'SELECT * FROM shoutbox ORDER BY ' . $sort;
  119.  
  120. if(!$result = mysql_query($query, $db_lnk)){
  121. echo('Wystąpił błąd: nieprawidłowe zapytanie...<BR>');
  122. }
  123. ?>
  124.  
  125. <table>
  126.  
  127. <?php
  128.  
  129. /*echo("<td>$row[0]</td>"); ten kodzik jak cos wyswietla id
  130. }*/
  131.  
  132.  
  133.  
  134. while($row = mysql_fetch_row($result)){
  135. echo("<tr>");
  136. echo("<td>$row[3]</td>");
  137. echo("<td>$row[1]");
  138. echo(" : $row[2]</td>");
  139. echo("</tr>");
  140. }
  141. ?>
  142.  
  143. </table>
  144.  
  145. <?php
  146. if(!@mysql_close()){
  147. echo('Wystąpił błąd podczas zamykania połączenia z serwerem MySQL...<BR>');
  148. }
  149. ?>
sniezny_wilk
Nospor , robił kiedyś shoutbox'a, mam nadzieję, że sie nie obrazi jak podam link smile.gif Może to się przyda..
Glukozamina
No mniej wiecej znalazłem kodzik ale co mam z tym zrobić ?

  1. <?php 
  2. public function CanEdit($message = null){ 
  3. if ($this->_nick == 'Glukozamina') 
  4.  return true; 
  5. if ($message && !empty($this->_id) && $message['ID_USER']==$this->_id) 
  6.  return true; 
  7. return 'Nie masz praw do edytowania tej wiadomości'; 
  8. } 
  9. ?>


Jedyne co się pokazuje to jakiś bład z funkcją.
marcio
Napisz sobie takiego shout'a nic trudnego smile.gif co do buziek to dajesz cos takiego
  1. <?php
  2. function bbcode($zmien) {
  3. $zmien = htmlspecialchars(trim($zmien));
  4. $co = array("r\n", ":D", ":)", ":(", ";p", "[:", "()", ":lol:", ":zly:", ":confused:", ";)", ":gangsta:", "<:", ":o0ps:", ":what:", ":fuck:", ":wstyd:", ":questionmark.gif:", ":bad:");
  5. $na_co = array("<Br>", "<img src='icon9.gif' />", "<img src='icon18.gif' />", "<img src='icon29.gif' />", "<img src='icon22.gif' />", "<img src='icon25.gif' />", "<img src='icon10.gif' />", "<img src='icon21.gif' />", "<img src='lol.gif' />", "<img src='icon17.gif' />", "<img src='icon8.gif' />", "<img src='icon14.gif' />", "<img src='icon12.gif' />", "<img src='icon2.gif' />", "<img src='icon20.gif' />", "<img src='icon11.gif' />", "<img src='icon5.gif' />", "<img src='icon3.gif' />", "<img src='icon7.gif' />", "<img src='icon24.gif' />", "<img src='icon13.gif' />");
  6. $zmien = str_replace($co, $na_co, $zmien);
  7. return $zmien;
  8. }
  9. ?>

Przy wyswietlaniu robisz cos takiego
  1. <?php
  2. bbcode($row[tutaj nr indexu wiadomosci w bazie]);
  3. ?>

Co do limitow postow to zamieniasz to zapytanie
  1. <?php
  2. $query = 'SELECT * FROM shoutbox ORDER BY ' . $sort;
  3. ?>

Na takie
  1. <?php
  2. $query = 'SELECT * FROM shoutbox ORDER BY '.$sort.' limit 10';
  3. ?>

Co do 2 podpunktu jak masz logowanie to sprawdzasz cookie/sesje jak nie to dajesz jakies universalne haslo albo cos smile.gif

Co do 4 punktu to zamieniasz to
  1. <?php
  2. while($row = mysql_fetch_row($result)){
  3. echo("<tr>");
  4. echo("<td>$row[3]</td>");
  5. echo("<td>$row[1]");
  6. echo(" : $row[2]</td>");
  7. echo("</tr>");
  8. }
  9. ?>

Na to
  1. <?php
  2. while($row = mysql_fetch_row($result)){
  3.  
  4. if($row[nr indexu z id] % 2 == 0) $kolor = '#000000'; else $kolor = '#FF0000';
  5.  
  6. echo("<tr>");
  7. echo("<td style="color:'.$kolor.'">$row[3]</td>"); // jesli to jest tresc :)
  8. echo("<td>$row[1]");
  9. echo(" : $row[2]</td>");
  10. echo("</tr>");
  11. }
  12. ?>

Cos takiego
Glukozamina
KAPITALNA ODPOWIEDŹ . Wielkie dzięki za pomoc snitch.gif. Jeszcze tylko z tym usuwaniem muszę coś poszukać.
marcio
Z usuwaniem no problem podajesz link a w nim np id lub id&autora+wpisu potem robisz if'a ktora sprawdza czy zmienna z get'a zostala ustawiona jesli tak to robisz akcje usuwania jesli nie to nie smile.gif oczywiscie wczesniej sprawdzasz czy ktos ma na to uprawnienia
Glukozamina
W tym pokazuje mi błąd.
  1. <?php
  2. while($row = mysql_fetch_row($result)){
  3.  
  4. if($row[0] % 2 == 0) $kolor = '#000000'; else $kolor = '#FF0000';
  5.  
  6.   echo(&#092;"\");
  7.   echo(&#092;"$row[3]\"); // jesli to jest tresc :)  W TYM MIEJSCU<--------------BŁĄD
  8.   echo(&#092;"$row[1]\");
  9.   echo(&#092;" : $row[2]\");
  10.   echo(&#092;"\");
  11. }
  12. ?>

"Parse error: syntax error, unexpected T_STRING..."
marcio
Zamien
  1. <?php
  2. echo("<td style="color:'.$kolor.'">$row[3]</td>"); // jesli to jest tresc :) W TYM MIEJSCU<--------------BŁĄD
  3. ?>

Na
  1. <?php
  2. echo('<td style="color:'.$kolor.'">'.$row[3].'</td>'); // jesli to jest tresc :) W TYM MIEJSCU<--------------BŁĄD
  3. ?>
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.