Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Czat
Forum PHP.pl > Forum > Przedszkole
topik53
Witam.
Pisze skrypt czatu/shoutboxa, i pojawia sie problem, jak zrobić odświerzanie tego czatu tak żeby jak jestem w trakcie pisania nie kasowało mi tego.
Cysiaczek
1. Dostajesz wiadomość nr.1 i trzymasz ja na ekranie czatu.
2. Dostajesz wiadomośc nr.2, więc bierzesz aktualną zawartość czatu i dodajesz do niej kolejny element.

Wszystko za pomocą innerHTML (zob. w dok. JS) - polecam też http://api.jquery.com/category/manipulation/
topik53
nie czaje tego co podał mi kolega, czy możecie mi wytłumaczyć na przykładzie, np tu
  1. <style type="text/css">
  2. <!--
  3. #contentbox {
  4. background: #E5E5E5;
  5. border:dotted;
  6. border-color:#000000;
  7. padding: 5px;
  8. width: 200px;
  9. height: 200px;
  10. overflow: auto; }
  11. ul#shoutboxmessage {
  12. margin: 0;
  13. padding: 0;
  14. list-style-type: none;
  15. color: #000000;
  16. font: normal 10px verdana,tahoma,arial; }
  17. .style2 {font-family: Tahoma; font-size: 10px; }
  18. -->
  19. </style>
  20.  
  21. <?php
  22.  
  23. // COPYRIGHT: (c) 2006 1Line Design / All Rights Reserved
  24. // LICENSE: <a href="http://www.gnu.org/copyleft.html" target="_blank">http://www.gnu.org/copyleft.html</a> GNU/GPL
  25. // AUTHOR: James Murphy <jamesmurphy@1linedesign.com>
  26. // SOURCE: <a href="http://www.1linedesign.com/" target="_blank">http://www.1linedesign.com/</a>
  27.  
  28.  
  29.  
  30. $connect = mysql_connect(dbhost, dbuser, dbpass)
  31. or die('Nie udało połączyc się z bazą danych. '.mysql_error());
  32.  
  33. mysql_select_db(dbname,$connect);
  34. $name = $_POST['name'];
  35. $message = $_POST['message'];
  36. $ip = $_POST['ip'];
  37. $mlen = strlen($message);
  38. $maxlength = 150;
  39. $date = date("M jS Y");
  40.  
  41. if ($_POST['submit']) {
  42. if ($name == "") {
  43. echo "<strong>Error: Please enter your nickname.</strong>";
  44. }
  45. else if ($message == "") {
  46. echo "<strong>Error: No message to be sent.</strong>";
  47. }
  48. else if ($mlen > $maxlength) {
  49. echo "<strong>Error: Message too long.</strong>";
  50. }
  51. else {
  52.  
  53. mysql_query("INSERT INTO shoutbox(name,message,date,ip) VALUES('$name','$message','$date','$ip')");
  54. }
  55. }
  56. $query = "SELECT * FROM shoutbox ORDER BY id DESC LIMIT 20";
  57. $result = mysql_query($query);
  58.  
  59. echo "<div id=\"contentbox\">\n";
  60. echo "<ul id=\"shoutboxmessage\">\n";
  61. while($r = mysql_fetch_array($result)) {
  62. $name = $r['name'];
  63. $name = strip_tags($name);
  64. $message = $r['message'];
  65. $message = strip_tags($message);
  66. echo "<li><strong>>$name</strong>: $message</li>\n";
  67. }
  68. echo "</ul>\n";
  69. echo "</div>\n";
  70.  
  71.  
  72.  
  73. ?>
  74. <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
  75. <strong>Nickname:</strong><br/>
  76. <input type="text" name="name" maxlength="20"><br/>
  77. <strong>Message:</strong><br/>
  78. <textarea name="message"></textarea><br/>
  79. <input type="submit" name="submit" value="Shout It!">
  80. <input type="hidden" name="ip" value="<?php echo $_SERVER['REMOTE_ADDR']; ?>">
  81. </form>
  82. </div>


ref

Mam kolejny problem, poprzedni juz rozwiązałem, jak klikam f5 to dodaje nowy rekord do bazy, tak to wyeliminować?
markonix
O zabezpieczaniu przed podwójnym wysłaniem formularza jest na tym forum w PRZYKLEJONYM temacie...
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.