Ankündigung

Einklappen
Keine Ankündigung bisher.

Mehrseitiges Formular: wie Datei-Upload mit hidden-field übergeben?

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Mehrseitiges Formular: wie Datei-Upload mit hidden-field übergeben?

    Guten Tag Forum!

    Ich habe folgendes Problemchen:

    Ich habe ein laaaaanges Formular mit insgesamt 42 Eingabefeldern auf drei inhaltlich zusammengehörige Seiten aufgeteilt. Auf der ersten Seite werden die persönlichen Daten abgefragt, auf der zweiten Seite ... usw. usf. Die ganzen eingegebenen Daten schleppe ich von Seite zu Seite unsichtbar mit hidden-Fields weiter. Erst auf der letzten Seite ist der Submit-Button und dann wird der ganze Quatsch (nach vorheriger Prüfung) in die DB eingetragen.

    Klappt eigentlich prima und ist viel übersichtlicher als das lange Formular auf einer einzigen Seite.

    Eine Sache klappt aber jetzt leider gar nicht mehr: Auf der ersten Seite muss man ein Bild (mit type="file") hochladen. Diese Information kriege ich leider nicht auf die nächste Seite gerettet, sodass es nach der dritten Seite hochgeladen und angezeigt wird. Die Information passt einfach nicht in ein hidden-field. Wie könnte ich das hinkriegen???

    Das Bild MUSS auf der ersten Seite angegeben werden, weil es inhaltlich zu den persönglichen Daten gehört.

    Zugegeben: Eigentlich ist es eine HTML-Frage, aber immerhin werden die hidden-fields mit PHP gefüttert.

    Danke für Hinweise und Gruß, kuahmelcher.


    P.S.: Beim erneuten Durchlesen überkam mich die Befürchtung, dass niemand mein Problem versteht. Deshalb kommen hier einige symbolhafte Seiten, die das Problem verdeutlichen sollen:

    Seite 1:
    PHP-Code:
    echo "<input type='text' name='vorname'>";
    echo 
    "<input name='userfile' type='file'>"// WIe diese Information weiterreichen?? 
    Seite 2:
    PHP-Code:
    echo "<input type='text' name='lieblingsfarbe'>";
    echo 
    "<input type='hidden' name='vorname' value='".$_POST['vorname']."'>"
    Seite 3:
    PHP-Code:
    echo "<input type='text' name='hobby'>";
    echo 
    "<input type='hidden' name='lieblingsfarbe' value='".$_POST['lieblingsfarbe']."'>";
    echo 
    "<input type='hidden' name='vorname' value='".$_POST['vorname']."'>"

    Seite 4: Kontrollseite
    PHP-Code:
    ausgabe aller hidden-fields und endgültiges abschicken und eintragen in DB 


  • #2
    Anstatt groß mit hidden fields herumzubasteln, steige einfach auf Session-Variablen um.

    Kommentar


    • #3
      Zitat von Chris. Beitrag anzeigen
      Anstatt groß mit hidden fields herumzubasteln, steige einfach auf Session-Variablen um.
      Ok. Und mit Sessions bräuchte ich nicht nur keine hidden-Fields, sondern könnte auch das Feld mit dem type="file" auf der dritten Seite auslesen?

      Danke und Gruß, kuahmelcher.

      Kommentar


      • #4
        Du benötigst das input-field[type=file] nur, wenn du etwas hochladen möchtest. Danach wirst du das Bild temporär abspeichern müssen und verwerfen, falls das Formular nicht vervollständigt wird.

        Kommentar


        • #5
          Zitat von Chris. Beitrag anzeigen
          Du benötigst das input-field[type=file] nur, wenn du etwas hochladen möchtest. Danach wirst du das Bild temporär abspeichern müssen und verwerfen, falls das Formular nicht vervollständigt wird.
          AaahhH! So langsam komme ich der Sache näher. Das bedeutet also, dass auf jeden Fall auf der Seite mit dem input-field[type=file] auch die DAtei hochgeladen und abgespeichert wird. Ich dachte, dass da nur die Informationen über den Speicherort abgegriffen werden! Das Problem bleibt natürlich dann grudnsätzlich auch mit Sessions erhalten ...

          Wenn ich das richtig verstanden habe dann würdest du vorschlagen die ollen hidden-felder 'rauszuschmeißen, mich ein bisschen mit Sessions auseinanderzusetzen, die Formularseiten etwas mit Sesssions zu verschlanken und der (immer noch auf der ersten Seite) hochgeladene Bilddatei einen eindeutigen (session-) Dateinamen zu verpassen um auf der Kontrollseite und später darauf zugreifen zu können. Richtig?

          Wenn ja, dann habe ich jetzt ein bisschen Arbeit aber so sollte es ja 1. funktionieren und 2. habe ich dann mal einen konkreten GRund mich mit den Sessions auseinanderzusetzen. Kann ja keine Zauberei sein ...

          Danke und Gruß, kuahmelcher.

          Kommentar


          • #6
            Die Dateien eines Formulars werden dann hochgeladen, wenn der Submit-Button gedrückt wird. Dort musst du das Bild verarbeiten und nicht beim Absenden eines anderen Formulars.

            Kommentar


            • #7
              Zitat von Chris. Beitrag anzeigen
              Die Dateien eines Formulars werden dann hochgeladen, wenn der Submit-Button gedrückt wird. Dort musst du das Bild verarbeiten und nicht beim Absenden eines anderen Formulars.
              Danke, danke, danke Chris! Sessions sind nu wirklich einfach und verdammt praktisch. Ich weiß nicht warum ich sie so lange nicht benutzt habe!!

              Das eigentliche Problem ist zwar noch nicht angepackt aber ich baue gerade erst einmal die Formulare um. Evtl. stelle ich dann noch mal einen etwas anderen Thread.

              Gruß, kuahmelcher.

              Kommentar

              Lädt...
              X