Shoutbox

En shoutbox lar den besøkende skrive navn og en kort kommentar på en side. Scriptet er relativt enkelt og inneholder et par sikkerhetsfunksjoner som gjør at du kan spore innleggende med IP-adresse, klokkeslett og dato.

1: Skjema for inntasting

På hvilken som helst side har du et skjema, f.eks. slik:

  1. <form method=""post" action="shoutbox.php">
  2. <ins style="text-decoration : none;">
  3.  
  4. Navn: <input size="15" maxlength="15" type="text" name="name" /><br />
  5. Melding: <input size="15" maxlength="50" type="text" name="c" /><br />
  6.  
  7. <input type="submit" value="Shout!" style="margin-top : 7px;" />
  8. </ins>
  9. </form>

(Koden validerer.)

2: Script for håndtering av input

Som man ser av skjemaet sendes teksten til filen shoutbox.php, som ser slik ut:

  1. <?php
  2.  
  3. // Datafil hvor tekst lagres
  4. $datfile = "shoutbox.txt";
  5.  
  6. // Maks lengde for et innlegg
  7. $MAX_LENGTH = 50;
  8.  
  9. // Antall innlegg som vises. Resten slettes
  10. $NUM_COMMENTS = 10;
  11.  
  12. /* MERK: Det er ingen fastlengde for NAME. Dette kan styres i skjemaet! */
  13.  
  14. /* --- IKKE ENDRE UNDER DENNE LINJEN --- */
  15.  
  16. if (!$name)
  17. { $name = ">>"; }
  18. else $name .= ":";
  19.  
  20. $c = preg_replace("/</","&lt;",$c);
  21. $c = preg_replace("/>/","&gt;",$c);
  22. $ip = $ip;
  23. $datetime = date("r");
  24.  
  25. $comfile = file($datfile);
  26. if ($c != "") {
  27. if (strlen($c) < $MAX_LENGTH) {
  28. $fd = fopen ($datfile, "w");
  29. $c = stripslashes($c);
  30. fwrite ($fd, "<p>
  31. <div style=\"visibility: hidden;\">
  32. IP: $ip Dato: $datetime</div>
  33. <b>$name</b><br />$c</p>\n");
  34. for ($i = 0; $i < $NUM_COMMENTS; $i++) {
  35. fwrite ($fd, $comfile[$i]);
  36. }
  37. }
  38. fclose($fd);
  39. }
  40. Header("Location: $HTTP_REFERER");
  41.  
  42. ?>

PS: Husk at du kan formatere tag-er som settes inn med stilsett!

2: Inkludering av datafil

Til slutt inkluderer du datafilen omtalt i parameteret $datfile hvor du ønsker, her shoutbox.txt:

  1. <?php include("shoutbox.txt"); ?>

4: Testing

Til slutt sørger du for at alle involverte filer har tilstrekkelige rettigheter og tester herligheten.

Copyright 1995 - 2008 Martin Bekkelund
xhtml
css
rss
cc
508
aaa
v6.08b