Ankündigung

Einklappen
Keine Ankündigung bisher.

Upload wird zweimal durchgeführt

Einklappen

Neue Werbung 2019

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

  • Upload wird zweimal durchgeführt

    Hi ,

    habe folgendes Problem. Habe ein ein Upload geschrieben. Funktioniert auch einwandfrei, jedoch wird der Upload immer zweimal durchgeführt.

    Hab auch nachgeschaut, die uploadDatei.php wird zweimal geladen.

    uploadDatei.php
    PHP-Code:
    $uploadVerzeichnis "files";

    $filename =  pathinfo($_FILES['file']['name'], PATHINFO_FILENAME);
    $extension strtolower(pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION));


    //Pfad zum Upload
    $new_path $uploadVerzeichnis.'/'.$filename.'.'.$extension;

    //Neuer Dateiname falls die Datei bereits existiert

    if(file_exists($new_path)) {

        
    $id 1;

        do {
            
    $new_path $uploadVerzeichnis '/' $filename '_' $id '.' $extension;
            
    $id++;
        } while(
    file_exists($new_path));
    }


    move_uploaded_file($_FILES['file']['tmp_name'], $new_path);


    $idset = ($_POST['idset']);
    file2DB($idset$new_path); 
    setdetail.js
    PHP-Code:
    //File Upload nach Auswahl der Datei    
        
    $('body').on('change''#dateiRechnung', function() {

            var 
    fileObj = new FormData();                 // erstellen Form Data objekt

            
    fileObj.append('idset'id_set);
            
    fileObj.append('file', $("#dateiRechnung")[0].files[0]); // Datei wird angehängt

            
    $.ajax({
                
    url"uploadDatei.php",
                
    method"POST",
                
    datafileObj,            
                
    processDatafalse,
                
    contentTypefalse,
            }).
    done( function( data ) {
                
    getFilesTable(id_set);    
            });

        }); 

    Kann man das doppelte Laden irgendwie verhindern?

  • #2
    Zitat von ke90 Beitrag anzeigen
    Kann man das doppelte Laden irgendwie verhindern?
    Indem man herausfindet, warum der upload zweimal getriggert wird.

    Kommentar


    • #3
      hab ich ja versucht, aber ich finde absolut nichts....

      Kommentar


      • #4
        Nach deiner Beschreibung muss es ja was mit dem HTML/JS zu tun haben ... dafür gibt's ja die Dev Tools im Browser.

        Kommentar


        • #5
          Hat nichts mit PHP zu tun, nachdem ja der Upload vom Client durchgeführt wird.

          Ich würde einfach mal im Browser Breakpoints auf diverse Code-Zeilen setzen und schauen, wann und wie oft er da hin springt.

          Kommentar


          • #6
            Scheinbar ist es Bubbling.

            Hab es jetzt so gelöst. Leider springt er aber nach Beenden des Events auf meine Startseite? Über die Breakpoints ist mir jetzt nichts aufgefallen.
            PHP-Code:
            $( "#upload" ).click(function(event) {
            event.stopImmediatePropagation(); 

            Kommentar


            • #7
              MOD: Verschoben von PHP-Fortgeschritten
              The string "()()" is not palindrom but the String "())(" is.

              Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
              PHP.de Wissenssammlung | Kein Support per PN

              Kommentar


              • #8
                Zitat von ke90 Beitrag anzeigen
                Scheinbar ist es Bubbling.

                Hab es jetzt so gelöst. Leider springt er aber nach Beenden des Events auf meine Startseite? Über die Breakpoints ist mir jetzt nichts aufgefallen.
                PHP-Code:
                $( "#upload" ).click(function(event) {
                event.stopImmediatePropagation(); 
                was bezweckst Du mit body on change?

                Dir ist auch klar, dass die Datei geprüft werden sollte, nicht dass Dir einer eine feine PHP Datei hochschiebt....

                Kommentar


                • #9
                  Funktioniert jetzt alles einwandfrei!

                  was bezweckst Du mit body on change?
                  Damit bezwecke ich, dass direkt nach Auswahl der Datei die Datei hochgeladen wird. Finde das eleganter ohne zusätzlichen Button.

                  Überprüfung wird alles noch eingebaut. Wollte erstmal nur die Grundfunktion entwickeln.

                  Kommentar


                  • #10
                    Zitat von ke90 Beitrag anzeigen
                    Damit bezwecke ich, dass direkt nach Auswahl der Datei die Datei hochgeladen wird. Finde das eleganter ohne zusätzlichen Button.
                    und was ist, wenn man versehentlich die falsche Datei ausgewählt hat?

                    Kommentar


                    • #11
                      Über dem inputfeld ist direkt eine Tabelle mit allen Rechnungen. Da kann man sie auch mit einem Klick schnell rauslöschen, falls versehentlich das passieren sollte. Wird auch nicht so sein, dass dort viele Rechnungen hochgeladen werden. Also findet man die Datei rel. flott.

                      Anders hät ich wahrscheinlich auch ein zusätzlichen Button.

                      Kommentar

                      Lädt...
                      X