<h2>Galerie-Upload</h2> <?php include 'php/formularbibliothek.php'; // prüfen, ob das Formular abgesendet wurde if (isset($_POST['hochladen'])) { // wir validieren die Texteingaben $beschreibung = textValidieren($_POST['beschreibung']); $ort = textValidieren($_POST['ort']); // wir verarbeiten das hochgeladene Bild // falls das Hochladen des Bilds funktioniert hat if ($_FILES['datei']['error'] == 0) { $quelle = $_FILES['datei']['tmp_name']; // mögliches Problem - Doppelungen von Dateinamen möglich // Ansatz: Dateinamen durch Verwendung der MD5-Prüfsumme eindeutig machen $md5checksum = md5_file($_FILES['datei']['tmp_name']); $ziel = 'upload/' . $md5checksum . '_' . $_FILES['datei']['name']; // prüfen, ob das Bild bereits hochgeladen worden ist ... // falls ja, müsste der M5-Hashwert bereits in der Datenbank erfasst sein $link = mysql_connect('10.10.102.145', 'www', 'linux') or die(mysql_error()); mysql_select_db('db_galerie') or die(mysql_error()); $query = "SELECT\r\n *\r\n FROM \r\n bilder\r\n WHERE\r\n md5checksum = '" . $md5checksum . "'"; $result = mysql_query($query); // kein Datensatz mit dem Hashwert gefunden? if (mysql_num_rows($result) == 0) { // .. dann weiter machen // verschieben der Datei move_uploaded_file($quelle, $ziel); // neuen Datensatz in die Datenbank eintragen $query = "INSERT INTO\r\n bilder\r\n VALUES\r\n (\r\n 0,\r\n '" . mysql_real_escape_string($ziel) . "',\r\n '" . mysql_real_escape_string($beschreibung) . "',\r\n now(),\r\n '" . mysql_real_escape_string($ort) . "',\r\n '" . $md5checksum . "',\r\n '" . $_SERVER['REMOTE_ADDR'] . "'\r\n )"; mysql_query($query);
// ____eingabe____ ( _ => Whitespace (Leerzeichen, Tabulator, ..) // eingabe // wir lassen $_POST['benutzer'] validieren if ($benutzer = textValidieren($_POST['benutzer'])) { echo 'Benutzername ist ok' . PHP_EOL; } else { echo 'Fehler: Benutzername nicht eingegeben' . PHP_EOL; } // wir lassen $_POST['passwort'] validieren if ($passwort = textValidieren($_POST['passwort'])) { echo 'Passwort ist ok' . PHP_EOL; } else { echo 'Fehler: PW nicht eingegeben' . PHP_EOL; } // wir lassen $_POST['kommentar'] validieren if ($kommentar = textValidieren($_POST['kommentar'])) { echo 'Kommentar ist ok' . PHP_EOL; } else { echo 'Fehler: Kommentar nicht eingegeben' . PHP_EOL; } // Auswahllisten könnten als Pflichteingabe vergessen woden sein // notwendige Prüfungen: // auf gültigen Wert - üblicherweise wird die erste Option mit einem "ungültigen" Wert belegt, z.B. 0 // enthält die Auswahl dann diesen Wert, hat der Benutzer die Eingabe vergessen // wir lassen $_POST['auswahl'] validieren if ($auswahl = auswahlValidieren($_POST['auswahl'])) { echo 'Auswahl ist ok' . PHP_EOL; } else { echo 'Fehler: Auswahl nicht eingegeben' . PHP_EOL; } // Radiobuttons können bei umsichtiger Formulargestaltung keine Eingabefehler produzieren, im Sinne
<h2>Ins Gästebuch eintragen</h2> <?php include 'php/formularbibliothek.php'; // falls das Formular gesendet wurde if (isset($_POST['eintragen'])) { // falls die Validierung des Namens fehlschlägt, merken wir uns das if (($name = textValidieren($_POST['name'])) == false) { $error['name'] = 'Bitte Eingabe des Namens prüfen'; } // falls die Validierung der Email fehlschlägt, merken wir uns das if (($email = textValidieren($_POST['email'])) == false) { $error['email'] = 'Bitte Eingabe der Email-Adresse prüfen'; } // falls die Validierung des Kommentars fehlschlägt, merken wir uns das if (($kommentar = textValidieren($_POST['kommentar'])) == false) { $error['kommentar'] = 'Bitte Eingabe des Kommentars prüfen'; } // falls alles fehlerfrei bis hierhin, werden wir den Eintrag in die // Datenbank übernehmen if (!isset($error)) { // Verbindung zum Datenbankserver herstellen $link = mysql_connect('10.10.102.145', 'www', 'linux') or die(mysql_error()); // Datenbank auswählen mysql_select_db('db_guestbook') or die(mysql_error()); // Abfrage zum Eintragen des Datensatzes formulieren $query = "INSERT INTO \r\n eintraege\r\n VALUES\r\n (\r\n 0,\r\n '" . mysql_real_escape_string($name) . "',\r\n '" . mysql_real_escape_string($email) . "',\r\n now(),\r\n '" . $_SERVER['REMOTE_ADDR'] . "',\r\n '" . mysql_real_escape_string($kommentar) . "' \r\n )"; if (mysql_query($query)) { echo "Vielen Dank für Ihren Eintrag"; } else { echo "Oopsi. Bitte prüfen Sie Ihre Eingaben";