Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Module › Modul-Entwicklung ›

[erledigt]Probleme File Upload, Formularwert leer

Eingetragen von Naerk (13)
am 18.10.2009 - 18:08 Uhr in
  • Modul-Entwicklung
  • Drupal 6.x

Hallo,

entwickle derzeitig ein eigenes Drupal Modul, wo man mittels eines Formulares ein File hochladen kann. Der Code hierfür ist grundsätzlich klar. Mein Problem besteht nun darin, dass der Wert des Formular Feldes für das File nach dem abschicken leer ist. Verstehe einfach nicht wo mein Fehler liegt.
Nach der Auswahl eines Files und dem Abschicken des Forms ist die Ausgabe von $form_state:
Array
(
[storage] =>
[submitted] => 1
[values] => Array
(
[test] => dfgdfg
[upload] =>
[op] => Datei hochladen
[submit] => Datei hochladen
...

Nachfolgend der Code:

function test_file() {
  return drupal_get_form('test_form');
}

function test_form_submit($form, &$form_state) {
  echo "<pre>";print_R($form_state);echo "</pre>";
}

function test_form_validate($form, &$form_state) {
  echo "<pre>";print_R($form_state);echo "</pre>";
}

function test_form() {
  $form['#attributes']['enctype'] = 'multipart/form-data';
 
  $form['test'] = array(
    '#type' => 'textfield',
    '#title' => t('test'),
    '#required' => TRUE
  ); 
   
  $form['upload'] = array(
    '#type' => 'file',
    '#title' => t('Datei auswaehlen'),
    '#required' => TRUE
  );
 
  $form['submit'] = array('#type' => 'submit', '#value' => t('Datei hochladen'));
  return $form;
}

‹ mod_rewrite hilfe Mehrere Seiten im Userprofil ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Ich frage mich gerade, wieso

Eingetragen von SteffenR@drupal.org (2262)
am 19.10.2009 - 08:40 Uhr

Ich frage mich gerade, wieso du ein eigenes Upload Modul schreiben möchtest. Dies ist schon im Kern von Drupal enthalten und müsste nur noch aktiviert werden.. Dies kannst du auf der Modulübersichtsseite mit 2 Klicks aktivieren ;)..

Pfad zur Modulseite:
admin/build/modules

7_de_btn.gif

  • Anmelden oder Registrieren um Kommentare zu schreiben

upload

Eingetragen von stBorchert (6003)
am 19.10.2009 - 08:38 Uhr

Hallo.
Du möchtest das (Kern-)Modul upload nachbauen? Hm.
Notfalls kannst Du in gerade erwähntem Modul nachschauen, wie das dort gelöst ist.

 Stefan

--
sei nett zu Deinem Themer

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo, danke für die

Eingetragen von Naerk (13)
am 19.10.2009 - 08:47 Uhr

Hallo,

danke für die Hinweise. Habe auch dort schon in dem Modul geschaut. Ich baue ein eigenes Upload Modul, da dies aufgrund der Projektanforderungen erforderlich ist.

Aber nochmal zu meinem Problem. Mein Code generiert ein Formular, was auch den richtigen "enctype" hat. Fülle ich nun die beiden Formularfelder aus, so kommt der Wert des Textfeldes an, der des Upload Feldes ist aber leer. Das verstehe ich nicht... Ist ein Fehler in dem Code?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Zitat: Du möchtest das

Eingetragen von stebeg (463)
am 19.10.2009 - 09:37 Uhr
Zitat:

Du möchtest das (Kern-)Modul upload nachbauen? Hm.

Wenn ich mich recht ertsinne ist das Upload-Modul dafür vorgesehen Dateien an Nodes anzuhängen. Man müsste also für jeden Upload ein Node erstellen um etwas hochzuladen. Ich wage zu behaupten, dass es Situationen gibt, in denen man etwas hochladen möchte, ohne einen Node zu erstellen. aber egal, back to Topic ...

Das Formular sieht eigentlich richtig aus. Ich würd mal die Submit-Funktion vervollständigen und gucken, ob die Datei hochgeladen wird, also ungefähr so:

<?php
if($file = file_save_upload('upload', $validators = array(),
   
$upload_path, $replace = FILE_EXISTS_RENAME))
  {
   
file_set_status($file, FILE_STATUS_PERMANENT);
   
drupal_set_message("Upload erfolgreich");
  } else
    {
     
drupal_set_message("Fehler beim Upload", 'error');
    }
?>

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ich möchte eine Datei gar

Eingetragen von Naerk (13)
am 19.10.2009 - 09:52 Uhr

Ich möchte eine Datei gar nicht an ein Node anhängen. Diese soll einfach hochgeladen und der Pfad in einer seperaten Datenbank Tabelle abgelegt werden. Deswegen verwende ich auch nicht das Upload Modul.

Das Vervollständigen des Formulares löst mein Problem leider nicht. Der Vorgang geht nicht weiter als test_form_validate(), da (siehe Array) das Feld "upload" leer ist und somit die Validierung dieses required Fields fehlschlägt.

  • Anmelden oder Registrieren um Kommentare zu schreiben

hmmm das einzige was ich in

Eingetragen von stebeg (463)
am 19.10.2009 - 10:15 Uhr

hmmm das einzige was ich in meinem Upload-Modul anders hab als du ist, dass ich statt

<?php
$form
['#attributes']['enctype'] = 'multipart/form-data';
?>

einen Array übergebe, nämlich so

<?php
$form
['#attributes'] = array('enctype' => "multipart/form-data");
?>

aber daran kanns ja eigentlich nicht liegen. Is ja beides prinzipiell das selbe.

  • Anmelden oder Registrieren um Kommentare zu schreiben

$_FILES

Eingetragen von stBorchert (6003)
am 19.10.2009 - 10:35 Uhr

Hochgeladene Dateien werden nicht in $form oder $form_state gespeichert, sondern in der globalen Variable $_FILES.
Siehe dazu auch die Umsetzung in den Funktionen upload_node_form_submit und file_save_upload.

hth,

 Stefan

--
sei nett zu Deinem Themer

  • Anmelden oder Registrieren um Kommentare zu schreiben

klingt logisch. Danke für

Eingetragen von Naerk (13)
am 19.10.2009 - 10:44 Uhr

klingt logisch. Danke für die Hilfe, jetzt funktioniert es.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
  • Wie erlaubt man neuen Benutzern auf die Resetseite zugreifen zu dürfen.
  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
  • Social Media Buttons um Insteragram erweitern
  • Nach Installation der neuesten D10-Version kein Zugriff auf Website
  • Composer nach Umzug
  • [gelöst] Taxonomie Begriffe zeigt nicht alle Nodes an
  • Drupal 11 + Experience Builder (Canvas) + Layout Builder
  • Welche KI verwendet ihr?
  • Update Manger läst sich nicht Installieren
Weiter

Neue Kommentare

  • melde mich mal wieder, da ich
    vor 1 Woche 5 Tagen
  • Hey danke
    vor 1 Woche 6 Tagen
  • Update: jetzt gibt's ein
    vor 1 Woche 6 Tagen
  • Hallo, im Prinzip habe ich
    vor 2 Wochen 4 Tagen
  • Da scheint die Terminologie
    vor 2 Wochen 4 Tagen
  • Kannst doch auch alles direkt
    vor 3 Wochen 1 Tag
  • In der entsprechenden View
    vor 3 Wochen 1 Tag
  • Dazu müsstest Du vermutlich
    vor 3 Wochen 1 Tag
  • gelöst
    vor 5 Wochen 5 Tagen
  • Ja natürlich. Dass ist etwas,
    vor 5 Wochen 6 Tagen

Statistik

Beiträge im Forum: 250233
Registrierte User: 20451

Neue User:

  • ByteScrapers
  • Mroppoofpaync
  • 4aficiona2

» Alle User anzeigen

User nach Punkten sortiert:
wla9461
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 16 Gäste online.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association