-
Formular mit Upload
Im Forum "Formular" war die Frage glaube ich nicht richtig platziert. Daher probiere ich es mal hier.
Der Webseitenbesucher soll in einem Formular Daten eingeben und eine Datei hochladen. Einige Felder sind Pflichtfelder. Das Formular habe ich mit dem Formulargenerator erstellt.
Anschließend muss ich die Daten auswerten. Dazu ist auf der Weiterleitungsseite ein neu programmiertes Modul eingebunden. In dem Modul habe ich auf alle im Formular eingebenen Daten Zugriff nur leider nicht auf die hochgeladene Datei. Wie komme ich an die hochgeladene Datei bzw. den Dateinamen?
Gruß
ChrMue
-
Ich hoffe ich habe dich richtig verstanden, das Formular kannst du mit diesem Hook nach dem absenden abfangen-> processFormData danach musst du aber alles händisch verarbeiten.
Eventuell kannst du aber auch mit diesem Hook was anfangen: validateFormField
-
Hmm...,
den Hook hatte ich schon mal ausprobiert, aber er wurde gar nicht aufgerufen.
Ich hatte auch mal eine Debug-Ausgabe direkt in die Hook-Schleife gelegt und auch diese Ausgabe erfolgte nicht.
Irgendetwas habe ich da wohl falsch gemacht. Hast du den Hook schon mal genutzt?
Gruß ChrMue
-
jup schon gebraucht und funktioniert. Hmm vielicht kann ich dir weiterhelfen, am einfachsten, du postest dein Code einmal...
so habe ich es gelöst:
config.php
PHP-Code:
//HOOKS
$GLOBALS['TL_HOOKS']['processFormData'][] = array('calendar_FE', 'FE_postreply');
calendar_FE.php
PHP-Code:
<?php if (!defined('TL_ROOT')) die('You can not access this file directly!');
class calendar_FE extends Frontend
{
public function FE_postreply($arrPost, $arrForm, $arrFiles)
{
if ($arrForm['id'] == ...) //wenn es nur bestimmte Formulare betreffen soll...
{
$startDate = $this->Input->post('startDate');// so kannst du die values in eine Variable holen
-
Hallo bensolution,
jetzt fällts mir ein, ich hatte den HOOK postUpload probiert, aber der ist ja nur für die Dateiverwaltung im Backend gedacht.
Vielen Dank für den Tipp, ich werde es morgen gleich ausprobieren.
LG ChrMue
-
Der Hook ist sicherlich das richtige vorgehen. Zur vollständigkeit halber, die Dateien findest du in $_SESSION['FILES']
-
@Andreas,
wenn du aber schon auf der Weiterleitungsseite des Formulars bist, dann ist $_SESSION['FILES'] bereits leer. Ich hoffe, dass ich mit dem Hook "vorher" dran komme.