1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Dateien auswählen und SPÄTER uploaden

Dieses Thema im Forum "PHP" wurde erstellt von chris4712, 9. Mai 2012.

  1. chris4712

    chris4712 Erfahrenes Mitglied

    Hallo alle zusammen!

    Ich weiß nicht recht wie ich meine Frage formulieren soll. Ich versuche es einfach mal (weiß auch nicht ob ich hier im richtigen Forum bin):
    Es geht um ein Formular das sich über mehrere Seiten zieht. Auf einer Seite sollen beliebige Dateien upload bar sein.
    Diese sollen jedoch nicht sofort hochgeladen werden, sondern erst ganz am Ende wenn alle Daten gesammelt sind.

    Bin nur total unschlüssig wie ich dies angehe :(

    Die Angaben des Benutzers speicher ich im Moment in einer Session, die beim endgültigen Abspeichern in eine MySQL DB übertragen wird.

    Viele Grüße
  2. Lime

    Lime frisch fruchtig

    Du könntest die verschiedenen Formulare z.B. per Javascript (jQuery bietet sich an) ausblenden und das nächste einblenden. Dann hast du nur lokal im Browser ein neues Formular, das alte + Inhalt bleibt allerdings versteckt erhalten.

    Code (HTML5):
    1.  
    2. <div id="formular">
    3.    <form name="formularus" method="post" action="file.php">
    4.       <div id="step1">
    5.           <input type="text" name="eingabefeld" value="gib was ein" />
    6.           <input type="button" name="submit1" value="Weiter" />
    7.       </div>
    8.       <div id="step2" style="display:none;">
    9.          <input type="text" name="eingabefeld2" value="gib nochmal was ein" />
    10.          <input type="submit" name="submitbutton" value="Absenden" />
    11.       </div>
    12.    </form>
    13. </div>
    14. <script type="text/javascript">
    15.    $(document).ready(function() {
    16.       $("#submit1").click(function() {
    17.          $("#step1").hide();
    18.          $("#step2").show();
    19.       });
    20.    });
    21.  
    Allerdings musst du vorher die jQuery-Bibliothek einbinden...
    Zuletzt bearbeitet: 9. Mai 2012
  3. tombe

    tombe Premium-User

    Keine Ahnung wie das Formular/die Formulare aussehen bzw. wie der Ablauf beim Eingeben der Daten geregelt ist.

    Aber kannst du nicht einfach den Teil wo die Dateien hochgeladen werden ans Ende machen!?
  4. Yaslaw

    Yaslaw n/a Moderator

    Weitere Frage. Weiss jemand wie lange die Dateien im temp-Ordner sind?
    $_FILES gibt ja den tmp_name den man nachher für den move_uploaded_file() verwendet. Wenn man jetzt move_uploaded_file erst später ausführt, sind dei Tempdatein noch da?
    Wenn ja, dann im ersten Script die Tempnamen in die Session schmeissen und am Ende erste verschieben
  5. tombe

    tombe Premium-User

    Soweit ich weiß werden diese Dateien gelöscht so bald das Skript komplett abgearbeitet ist!?
  6. Yaslaw

    Yaslaw n/a Moderator

    Wenn das so ist, dann kan man meine Idee verwerfen *g*
  7. Fragenfrager

    Fragenfrager Grünschnabel

    Das Speichern in einer Session ist eine Sache, Du könntest aber -wenn Du nicht mit Sessions arbeiten möchtest- die Daten auf der jeweiligen Folgeseite auch in versteckte Formularfelder schreiben:
    Code (HTML5):
    1.  
    2. <input type="hidden" />
    3.  
    Code (PHP):
    1.  
    2. // zweite Seite
    3. if (isset ($_Post['Wert_Von_Erstem_Formular']))
    4. {
    5.   $alterWert=htmlspecialchars($_Post['Wert_Von_Erstem_Formular']);
    6. }
    7. echo <<<HTML
    8.       <form action='3tesFormular.php' method='post'>
    9.         <input type="hidden" name="WertVon1temFormular" value="$alterWert" />
    10.         <input type="submit" value="Und wech" tabindex="1" />
    11.       </form>
    12. HTML;
    13.  
    So kannst Du den Dateipfad von Formular zu Formular weitergeben.
    Nicht sehr elegant, sollte aber klappen.
  8. chris4712

    chris4712 Erfahrenes Mitglied

    Erst einmal vielen Dank für die zahlreichen Beiträge!

    Das Upload am Ende ist nicht machbar. Am Ende soll eine Zusammenfassung angezeigt werden durch dessen Bestätigung alles abgeschickt wird.

    Die Idee mit den versteckten verschiedenen Formularen ist eine Möglichkeit, aber mit größerem Aufwand verbunden, da ich auf einer Seite ein Formular hat, in dem man Daten einträgt. Diese werden auf der Seite sofort angezeigt (abschicken des Sub Formulars lädt die Seite neu) und es können weitere Daten in das selbe Formular eingegeben werden, solange bis man einen separaten Button drückt und auf die nächste Seite gelangt.

    Um die Idee mit den versteckten Formularen umzusetzen müsste ich also mit AJAX bzw. JavaScript arbeiten :suspekt:


    Was die Weitergabe vom Dateipfad angeht: Ich kann doch aus Sicherheitsgründen nicht in ein neues Formularfeld bzw. Dateiupload Feld einen Wert (in dem Falle den Dateipfad) eintragen. Oder hat sich dies geändert?

    Viele Grüße!
  9. tombe

    tombe Premium-User

    Also ein Formularfeld mit Werte belegen wird nicht klappen - wie du schon selber schreibst.

    Die "einfachste" Möglichkeit wird wirklich sein das du die jeweiligen Bereiche mit Hilfe von Javascript und/oder CSS ein- bzw. ausblendest.
  10. Lime

    Lime frisch fruchtig

    Arbeit hast du mit jeder Lösung - weil es eben doch etwas unkonventionell ist... Optisch löst du es mit Javascript mit Sicherheit am besten!
  11. chris4712

    chris4712 Erfahrenes Mitglied

    OK; dann tippe ich mal los.
    DANKE!

Diese Seite empfehlen