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:
- <form method=""post" action="shoutbox.php">
- <ins style="text-decoration : none;">
-
- Navn: <input size="15" maxlength="15" type="text" name="name" /><br />
- Melding: <input size="15" maxlength="50" type="text" name="c" /><br />
-
- <input type="submit" value="Shout!" style="margin-top : 7px;" />
- </ins>
- </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:
- <?php
-
- // Datafil hvor tekst lagres
- $datfile = "shoutbox.txt";
-
- // Maks lengde for et innlegg
- $MAX_LENGTH = 50;
-
- // Antall innlegg som vises. Resten slettes
- $NUM_COMMENTS = 10;
-
- /* MERK: Det er ingen fastlengde for NAME. Dette kan styres i skjemaet! */
-
- /* --- IKKE ENDRE UNDER DENNE LINJEN --- */
-
- if (!$name)
- { $name = ">>"; }
- else $name .= ":";
-
- $c = preg_replace("/</","<",$c);
- $c = preg_replace("/>/",">",$c);
- $ip = $ip;
- $datetime = date("r");
-
- $comfile = file($datfile);
- if ($c != "") {
- if (strlen($c) < $MAX_LENGTH) {
- $fd = fopen ($datfile, "w");
- $c = stripslashes($c);
- fwrite ($fd, "<p>
- <div style=\"visibility: hidden;\">
- IP: $ip Dato: $datetime</div>
- <b>$name</b><br />$c</p>\n");
- for ($i = 0; $i < $NUM_COMMENTS; $i++) {
- fwrite ($fd, $comfile[$i]);
- }
- }
- fclose($fd);
- }
- Header("Location: $HTTP_REFERER");
-
- ?>
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:
- <?php include("shoutbox.txt"); ?>
4: Testing
Til slutt sørger du for at alle involverte filer har tilstrekkelige rettigheter og tester herligheten.