HTML, CSS, PHP, MySQL

html-php.de

HTML & CSS Stylesheets Referenz JavaScript PHP MySQL Sonstiges Gästebuch Inhalt Impressum

[ Formular ] [ Formular auslesen ] [ Neuer Satz ] [ Satz aendern ]

Sätze schreiben - Formular

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>";
   ?>

back top next