Benutzerdefiniertes Formular zur Uebermittlung von Daten
lima-city → Forum → Die eigene Homepage → Homepage Allgemein
bereich
bild
code
date
datei
dateiname
datum
eingabe
form
formular
http
info
login
senden
speichern
system
text
type
url
verarbeitung
-
Hi Leute!
Welche eleganten Moeglichkeiten habe ich, um folgendes zu realisieren:
Der Besucher der Seite kann Informationen sowie ein Bild an die Homepage (also mich) uebermitteln. Dazu brauche ich eine Art Formular mit notwendigen Feldern und eben einer Moeglichkeit ein Bild hochzuladen. Eine CAPTCHA Ueberpruefung soll auch stattfinden. Als naechstes soll ich von meiner Homepage informiert werden, dass neue Inhalte eingetroffen sind. Die weitere Ueberpruefung und Verarbeitung kann manuell erfolgen.
Welche Vorgehensweise bietet sich hier an?
Gruesse
Sebastian -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Kombination aus
1. HTML
Formular zum Eintragen der Nachricht (info) und Auswählen der Upload-Datei (Bild)
... für Formular mit Upload braucht man im FORM Tag einenctype="multipart/form-data"
paar grundlegende Infos zum Upload per Formular siehe z.B. hier selfhtml
Senden nur mit Captcha (z.B. Re-Captcha oder andere)
2. PHP
a) Eingaben aus Formular überprüfen (User Berechtigung, ist Datei ein Bild, etc.)
b) wenn Ok, dann gesendete Daten speichern (Texte,Datum, etc. in MySQL und Bild in Verzeichnis)
c) Info-Mail an Andmin senden, evtl. auch gleich mit Link zur Überprüfungs-Seite
also User-Bereich, wo man (nach Login) neue Daten senden (hochladen) kann
und Admin-Bereich, wo Du diese Daten überprüfen und freischalten bzw. löschen kannst
insgesamt würde ich das Thema unter PHP ansiedeln,
... also @Moderatoren evtl verschieben ins PHP-Forum ?
-
Wenn du dich schon mit HTML und PHP ein wenig auskennst, kann ich dir nettutsplus empfehlen:
http://net.tutsplus.com/tutorials/php/user-membership-with-php/
http://net.tutsplus.com/articles/news/how-to-build-a-login-system-for-a-simple-website/
http://net.tutsplus.com/tutorials/php/a-better-login-system/
http://net.tutsplus.com/tutorials/php/build-your-own-captcha-and-contact-form/
MfG
Dominic -
Datei-Upload (PHP) mit Formular (HTML)
Datei: test1.php
<?php // ----------------------------------------------------------------- header("Content-Type: text/html; charset=utf-8"); date_default_timezone_set('Europe/Berlin'); $timestamp = time(); $max_bytes = (1024*1024); $uploaddir = 'uploads'; $user_name = 'testuser'; ## $run_file = 'test1.php'; $run_file = $_SERVER['PHP_SELF']; // --------------------------------------------- $formular1 = ' <form action="'.$run_file.'" method="post" enctype="multipart/form-data"> Titel: <input type="text" name="titel" value="" size="46" maxlength="100" /> <br /> <input type="hidden" name="MAX_FILE_SIZE" value="'.$max_bytes.'" /> Datei: <input type="file" name="datei" size="36" maxlength="200" /> <br /> Info: <input type="text" name="info" value="" size="46" maxlength="150" /> <br /> <input type="hidden" name="tstp" value="'.$timestamp.'" /> <input type="hidden" name="user" value="'.$user_name.'" /> OK: <input type="submit" name="go" value="Hochladen" /> </form> '; // --------------------------------------------- function print_debug($var) { print "<br />\n"; print "<br />\n"; print "<pre style=\"margin:4px; padding:6px; background:#DEDEDE; text-align:left;\">\n"; print_r($var); print "</pre>\n"; print "<br />\n"; print "<br />\n"; } // ----------------------------------------------------------------- print "<br />\n"; print "<br /> --- <a href=\"".$run_file."\">HOME</a> --- \n"; print "<br />\n"; print "<br />\n"; // ----------------------------------------------------------------- if (isset($_FILES['datei']['size']) && !empty($_FILES['datei']['size'])) { // ------------------------------------- if($_FILES['datei']['size'] < $max_bytes) { $uploaddir = trim($uploaddir,'/'); if (!is_dir($uploaddir)) { mkdir($uploaddir,0755); } $dateiname = basename($_FILES['datei']['name']); $zieldatei = $uploaddir .'/'. $dateiname; // ------------------------------- if (!file_exists($zieldatei)) { move_uploaded_file($_FILES['datei']['tmp_name'], $zieldatei); print "<br />\n"; print "<br />Die Datei wurde erfolgreich hochgeladen: ".$uploaddir."/<a href=\"".$zieldatei."\" target=\"_blank\">".$dateiname."</a>\n"; print "<br />\n"; print "<br />Titel: ".$_POST['titel']."\n"; print "<br />Name: ".$dateiname."\n"; print "<br />Path: ".$uploaddir."\n"; print "<br />Type: ".$_FILES['datei']['type']."\n"; print "<br />Size: ".$_FILES['datei']['size']."\n"; print "<br />Info: ".$_POST['info']."\n"; print "<br />Time: ".$_POST['tstp']." --- ". date('Y-m-d (H:i:s)',$_POST['tstp']) ."\n"; print "<br />User: ".$_POST['user']."\n"; print "<br />\n"; // ------------------------------- } else { print "<br />\n"; print "<br />Die Datei ist bereits vorhanden: <a href=\"".$zieldatei."\" target=\"_blank\">".$zieldatei."</a>\n"; print "<br />\n"; unset($_FILES); } // ------------------------------- // ------------------------------------- } else { print "<br />Das Bild darf nicht größer als 1 MB sein.\n"; unset($_FILES); } // ------------------------------------- print "<hr />\n"; print "<br />#### DEBUG ####\n"; print_debug($_FILES); print "<br />\n"; print "<br />\n"; // ----------------------------------------------------------------- } else { print "<br />\n"; print "<br />\n"; print $formular1; print "<br />\n"; print "<br />\n"; } // ----------------------------------------------------------------- print "<br />\n"; print "<br />\n"; print "<br />\n"; // --------------------------------------------- ?>
Features
+ Formular zur Eingabe: Titel, Datei-Auswahl, Info
+ Hochgeladene Datei im Ordner 'uploads' Speichern
+ Ausgabe wichtiger Parameter / Variablen (DEBUG)
TO-DO:
+ Zusatz-Infos zurm Upload speichern (Titel, Info, Time, User, ...)
+ Unique Dateiname für Upload z.B.: md5 (name+time+user)
+ nur bestimmte Datei-Typen zulassen (z.B.: nur .jpg .gif .png)
+ .....
-
Als Formular würde ich ein sogenanntes Affenformular verwenden.
Der Vorteil eines solchen Formulars liegt darin, dass nur die Felder neu ausgefüllt werden müssen,
die falsche Eingaben hatten.
Fehlerhafte Eingaben passieren ja recht häufig.
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage