reactie-script
Code (php)
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
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>";
}
?>
// 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>";
}
?>