reactie-script

Gesponsorde koppelingen

PHP script bestanden

  1. reactie-script

« Lees de omschrijving en reacties

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
<?php
// Variabelen voor een reactie:
$datum   = date("d-m-Y"); // Huidige datum
$tijd    = date("H:i");   // Huidige tijd
$naam    = "";            // Naam van de gebruiker
$reactie = "";            // Tekst van de reactie;

// Constante voor de bestandsnaam:

define("BESTAND", "reacties.htm");

// Formulier verwerken:
if (isset($_POST['submit'])) {
    // Controleren of op de knop 'Reageren' geklikt:
    if ($_POST['submit'] == "Reageren") {
        // Naam van de gebruiker lezen:
        if (isset($_POST['naam'])) {
            $naam = $_POST['naam'];
            $naam = strip_tags($naam);
            $naam = trim($naam);
            $naam = htmlentities($naam);
            if (strlen($naam) == 0) {
                $naam = "Anoniem";
            }
        }
else {
            $naam = "Anoniem";
        }

        // Reactie van de gebruiker lezen:
        if (isset($_POST['reactie'])) {
            $reactie = $_POST['reactie'];
            $reactie = strip_tags($reactie);
            $reactie = trim($reactie);
            // Reactie vanaf twee tekens toevoegen:
            if (strlen($reactie) > 1) {
                // Naam, datum en tijd toevoegen aan de reactie
                // en opmaken als een alinea (X)HTML:

                $reactie = stripslashes($reactie);
                $reactie = htmlentities($reactie);
                $reactie = nl2br($reactie); // Regeleinde vervangen door <br />
                $reactie = "<p><strong>" . $naam . " [post van " . $datum . " om " . $tijd . " uur]:</strong><br />" . $reactie . "</p>\r\n";

                // Bestaande inhoud lezen als het bestand al bestaat:
                if (file_exists(BESTAND)) {
                    // Bestand openen voor lezen:
                    $handle = fopen(BESTAND, "r");
                    // Alle bestaande inhoud van het bestand lezen:
                    $bestandsinhoud = fread($handle, filesize(BESTAND));
                    // Bestand sluiten:
                    fclose($handle);
                }
else {
                    $bestandsinhoud = "";
                }


                // Nieuwe reactie toevoegen
                // aan het BEGIN van de bestaande inhoud:

                $bestandsinhoud = $reactie . $bestandsinhoud;
                // Bestand openen voor schrijven:
                $handle = fopen(BESTAND, "w");
                // Bestand vergrendelen voor exclusieve toegang:
                flock($handle, LOCK_EX);
                // Nieuwe bestandsinhoud opslaan:
                fwrite($handle, $bestandsinhoud);
                // Bestandsvergrendeling opheffen:
                flock($handle, LOCK_UN);
                // Bestand sluiten:
                fclose($handle);
                // Variabelen opruimen:
                unset($reactie, $handle, $bestandsinhoud);
            }
        }
    }
}

?>

<h1>Reacties</h1>
<form action="reacties.php" method="post">
  <p>
    <label for="naam"><span style="text-decoration: underline">N</span>aam (niet vereist): </label>
    <input accesskey="n" id="naam" name="naam" type="text" value="<?php echo $naam; ?>"><br />
    <label for="reactie"><span style="text-decoration: underline">T</span>ekst van uw reactie, vraag of opmerking:</label><br />
    <textarea accesskey="t" cols="50" id="reactie" name="reactie" rows="5"></textarea><br />
    <input class="knop" id="submit" name="submit" type="submit" value="Reageren">
  </p>
</form>
<?php
// Bestaande inhoud weergeven als die bestaat:
if (file_exists(BESTAND)) {
    include_once(BESTAND);
}
else {
    echo "<p>";
    echo "<strong>Er zijn nog geen reacties.</strong>";
    echo "<br />";
    echo "Met het bovenstaande formulier kunt u als eerste reageren.";
    echo "</p>";
}

?>

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.