Witam właśnie robię własnego shoutboxa, i mam problem z JS, i AJAXem. Chodzi o (jak w opisie) wysłanie wiadomości do skryptu php bez przeładowania strony, oraz odświeżenie diva z wiadomościami, bez odświeżania całej strony.

Plik sb.php > wyciąganie danych (wiadomości) z bazy
  1. <?php
  2. $zshout = "SELECT * FROM shout ORDER BY `date`DESC, `time` DESC";
  3. $rshout = mysql_query($zshout);
  4. while ($w_shout = mysql_fetch_array($rshout))
  5.  
  6. {
  7. echo'<p>
  8. <span class="sbdate">'.$w_shout['date'].' || '.$w_sb_disp['time'].'|</span>
  9. |<<span class="sblogin">'.$w_shout['nick'].' </span>>|
  10. <span class="sbmesage">'.$w_shout['message'].'</span>
  11. </p>';
  12.  
  13. }
  14. ?>


fragment - index.php > czyli strona główna
  1. <div class="shoutbox">
  2. <div id="shoutbox_mesage">';
  3. require_once('./sb.php');
  4. echo'</div>';
  5. sb();
  6. echo'</div><div style="clear:both"></div>';



i funkcja sb() czyli dodawanie wiadomości do shoutaboxa

  1. function sb()
  2. {
  3. include('pretorium/global.php');
  4. include('pretorium/zmienne.php');
  5.  
  6. if(!empty ($_POST['nick'])&&!empty ($_POST['message']))
  7. {
  8. $z_add_sb = "INSERT INTO `shout` SET
  9. `nick` = '".$_POST['nick']."',
  10. `message` = '".$_POST['message']."',
  11. `date` = '$date',
  12. `time` = '$time'";
  13. $r_add_sb = mysql_query($z_add_sb)or die('Zapytanie: '.$z_add_sb.' <br /> Błąd '.mysql_error());
  14. }
  15. else
  16. {
  17. }
  18.  
  19. if(empty($_SESSION['login']) )
  20. {
  21. $value_nick = 'Nick';
  22. }
  23. elseif(!empty($_SESSION['login']) )
  24. {
  25. $value_nick = $_SESSION['login'];
  26. }
  27.  
  28. <form action="/index.php" method="POST" id="form" style="clear: both;">
  29. <fieldset>
  30. <legend>Napisz coś</legend>
  31.  
  32.  
  33. <input class="sb_nick" name="nick" value="'.$value_nick.'"/>
  34.  
  35. <input class="sb_message" name="message" value="Treść waidomości" />
  36.  
  37.  
  38. </fieldset>
  39.  
  40. <input class="sb_send" type="submit" value="Dodaj" />
  41. <input class="sb_send" type="reset" value="Wyczyść"/>
  42. </form>
  43. <div style="clear:both"></div>';
  44. }


Szukałem tego odświeżania, ale coś mi nie idzie. Jeżeli już nawet odświeżało diva to ni wyświetlało żadnych danych.