Für das Gästebuch mit Dreameaver benötigen wir:
Erstelle zuerst eine Datenbank guestbook nach folgender Struktur. Am einfachsten mit PHPmyAdmin.
CREATE TABLE tab_guestbook(
id INTEGER NOT NULL AUTO_INCREMENT,
Name CHAR(30) NOT NULL,
Email CHAR(30) NOT NULL,
Kommentar TEXT NOT NULL,
Datum TIMESTAMP,
login INT
PRIMARY KEY (id)
Erstelle eine neue Seite und speichere sie unter dem Namen Eingabe.php (diese Seite)
Erstelle eine Verbindung zur Datenbank namens Gaestebuch und wähle dort die Datenbank guestbook.
Erstelle eine Datensatzgruppe im Fenster Bindungen
Erstelle ein Formular, namens Eingabe
Füge dort eine Tabelle ein mit den Formularfeldern und Abschicken-Button nach oben stehndem Muster.
Die Formularfelder bekommen der Reihe nach die Namen
Name, Email, Kommentar entsprechend den Feldern der mySQL Datenbank.
Entsprechend der mySQL-Datenbank CHAR(30) beträgt die Zeichenbreite der Formularfelder auch 30. Das Kommentar-Feld ist mehrzeilig.
Wähle des Formular aus, klicke im Fenster
auf das +Zeichen und wähleDadurch werden die Einträge der Formularfelder in die Felder gleichen Namens der mySQL Datenbank guestbook gesendet. Anschließend soll die Datei Ausgabe.php aufgerufen werden, die wir im zweiten Schritt erstellen.
Damit die Formularfelder den Eintrag (NOT NULL) erhalten wird ein Javascript erzeugt.
Markiere das Formular und klicke im Fenster das +Zeichen. Wähle dort
Markiere die Zeile und aktiviere die Option , Am Ende der Zeile erscheint dann ein
Verfahre genauso mit der Zeile
Bei aktiviere und
Anstatt die Html Formularfelder zu benutzen kann man auch mit Flash Eingabetextfelder, dynamische Textfelder oder Variablen, die in Flash definiert wurden verschicken. Auch hier wählt man Post oder Get. Um die Variablen mit Dreamweaver benutzen zu können, habe ich am Anfang der Seite ein Script per Hand eingefügt. siehe auch
<?php
$name = $_POST["txtName"];
$email = $_POST["txtEmail"];
$kommentar = $_POST["txtKommentar"];
$login=$_POST["login"];
?>
Im Formular, welches die Daten in die Datenbank einfügen soll habe ich versteckte Formlarfelder eingefügt (hidden fields) und diese mit den entsprechenen Variablenwerten versehen.
<input name="name" type="hidden" id="name" value="<?php echo $name; ?>">
<input name="email" type="hidden" id="email" value="<?php echo $email; ?>">
<input name="kommentar" type="hidden" id="kommentar" value="<?php echo $kommentar; ?>">
<input name="login" type="hidden" id="login" value="<?php echo $login; ?>">
Alles weitere kann man dann auf die gleiche Art machen, wie es oben erklärt wurde.
Man kann auf die Bestätigungsseite auch ganz verzichten, dann ist der Spamschutz noch sicherer. Erstelle eine PHP Seite ohne jeglichen Html Code. In Dreamweaver in der Code-Ansicht alles löschen. Fügen dann folgenden Code dort ein und passe ihn an deine Datenbank an.
<?php require_once('../Connections/stratoDatenbank.php');
$name = $_POST["txtName"];
$email = $_POST["txtEmail"];
$kommentar = $_POST["txtKommentar"];
mysql_select_db($database_stratoDatenbank);
$sql = mysql_query("INSERT INTO stratobook (Name, Email, Kommentar) VALUES ( '$name','$email' , '$kommentar')");
header("Location: Ausgabe.php");
?>
Hier dürfen auch keine Kommentare oder leere Zeilen eingefügt sein, sonst funktioniert die Umleitung auf die Ausgabe.php nicht.
Fenster
+Zeichen,Infos zu loeschen.php / online
In diesem speziellen Falle hat man keine Tabelle, die alle Tabellenfelder anzeigt, aus der man dann gewünschte Felder löschen kann, sondern man hat am Anfang ein Formularfeld, in das man die Login Nummer eingibt. Als Action des Formulars wird die gleiche Seite angegeben, also "loeschen.php" Das Eingabefeld hat hier den Namen "login".
In der Datensatzgruppe, welche die Tabelle definiert, gibt man dann als Filterbedinung die Formularvariable "login" ein. Alles weitere dann wie in den generellen Erklärungen. Zum Schluss habe ich noch die Tabelle markiert und das Serverhalten: Bereich Anzeigen, Wenn Datensatzgruppe nicht leer ist eingeben.