Formulare mit dem enctype="multipart/form-data"

Dieser Formulartyp ist dafür gedacht, dem Benutzer zu ermöglichen, Dateien an den Server zu senden. Auch wenn ein Dateiupload häufig gar nicht angeboten wird, wird dieser Formulartyp oft trotzdem verwendet.
Standardmäßig übernimmt PHP automatisch die Verarbeitung der übertragenen Formulardaten. Das führt aber leider zu Komplikationen beim Weiterleiten der Daten an das Shopsystem.
Um diesen Formulartyp trotzdem zu unterstützen sind zwei Schritte notwendig:

  1. Aktivieren Sie die Option Add multipart form data parameter in der Extensionkonfiguration.
  2. Fügen Sie nachstehenden Abschnitt in Ihre .htaccess-Datei ein:
.htaccess
SetEnvIfNoCase Content-Type ^(multipart/)(form-data)(\s*;\s*.*)$ NEWCT=$1shopfusion-$2$3 OLDCT=$1$2$3
RewriteCond %{QUERY_STRING} \bSFFORM\b [NC]
RewriteCond %{ENV:NEWCT} shopfusion [NC]
RewriteRule (.*) - [E=APPLYNEWCT:1]
RequestHeader set Content-Type %{NEWCT}e env=APPLYNEWCT

Erklärung
Um PHP davon abzuhalten, die Formulardaten automatisch zu parsen, wird der Content-Type so verändert, dass PHP diesen nicht erkennt und somit nicht automatisch verarbeitet. Dafür erkennt ShopFusion den neuen Content-Type und verarbeitet ihn entsprechend.
Der Content-Type wird jedoch nur dann verändert, wenn im Query-String der zusätzliche GET-Parameter sfform vorhanden ist. So wird gewährleistet, dass herkömmliche Formulare, die nichts mit ShopFusion zutun haben, aber trotzdem den enctype=„multipart/form-data“ tragen, unverändert bleiben.

Drucken/exportieren
QR-Code
QR-Code shopfusion:eigenschaften:multipart_form_data (erstellt für aktuelle Seite)