Zuerst legen Sie ein Formular an, um Datensätze in die Tabellen aufzunehmen.
<form method="post" action="eintragen.php" id="gastbuch">
<div id="eingabe">
<span class="Felder">Name:</span><br>
<input type="text" name="realname"><br>
<span class="Felder">eMail-Adresse:</span><br>
<input type="text" name="email"><br>
<span class="Felder">Homepage:</span><br>
<input type="text" name="url"<br>
<span class="Felder">Nachricht:</span><br>
<textarea name="body" cols="18" rows="8" id="textarea">
</textarea><br>
<input type="submit" value="Eintragen">
</div>
</form>
Formular auslesen
Nachdem der Button "Eintragen" im Formular aktiviert wurde, wird die PHP-Datei eintragen.php
aufgerufen. Als nächstes wird geprüft, ob Werte aus dem Formular übergeben wurden if(!isset())
.
Danach überprüfen Sie, ob die Werte nicht leer sind.
<?php
if(!isset($_POST['realname'], $_POST['body'])) {
die("Bitte Benutzen sie das Formular\n");
}
if(trim($_POST['realname']) == "") {
die("Kein Namen eingegeben");
}
if(trim($_POST['body']) == "") {
die("Keine Nachricht beingegeben");
}
?>
Wenn Sie wünschen, das auch eMail-Adressen pflicht sein sollen, müssen Sie diese Felder
noch hinzufügen. Die übergebenen Werde werden schließlich in Variablen gespeichert
<?php
$name = $_POST['realname'];
$email = $_POST['email'];
$hp = $_POST['url'];
$body = $_POST['body'];
$ip = $_SERVER['REMOTE_ADDR'];
$zeit = time();
?>
Anschließen sollten Sie die Variablen noch umwandeln, und Backslash für geschützte
Zeichen, wie z.B. ' " \
hinzufügen. Zusätzlich wandeln Sie HTML-Zeichen,
wie z.B. " < > &
um.
<?php
$name = addslashes(htmlspecialchars($name));
$email = addslashes(htmlspecialchars($email));
$hp = addslashes(htmlspecialchars($hp));
?>
Zusätzlich wandeln wir den Text der Nachricht ebenfalls um, und setzen BB-Code ein. Dazu
komme ich aber später
Datensatz in Tabelle schreiben
Hinterher kann dann die Verbindung zur Datenbank hergestellt werden
(siehe Startseite), und mit INSERT INTO tabelle (Feldliste) VALUES ('Werte')
wird dann ein neuer Satz in der Tabelle angelegt.
<?php
include 'inc/zugriff.php';
$sql = "INSERT INTO Beitrag
(Name, eMail, HP, IP, Zeit, Beitrag)
VALUES
('".$name."',
'".$email."',
'".$hp."',
'".$ip."',
'".$zeit."',
'".$body."')";
$result = mysqli_query($dblink, $sql);
?>
Sätze in die Tabelle ändern
Dieses Gästebuch hat kein Admin-Bereich. Aber evtl möchten Sie ja später einen
selber bauen. Dazu müssen Sie wissen, wie man Datensätze in der Tabelle ändern kann.
Benutzen Sie dazu den Befehl UPDATE tablle SET feld1 = '$wert1' WHERE feld2 = '$wert2'
. Dabei werden alle Werte in der
Spalte feld1 mit dem Wert der Variablen $wert1 ersetzt, deren Wert in der Spalte feld2 den Inhalt der
Variablen $wert2 besitzt.
<?php
include 'inc/zugriff.php';
$sql = "UPDATE
beitrag
SET
Beitrag = '$body',
Kommentar = '$kommentar'
WHERE
ID = $id";
$result = mysqli_query($dblink, $sql);
echo "<p>Eintrag erfolgreich</p>";
?>