PHP File-Upload funktioniert nicht wegen JQuery Mobile

  • Hallo,


    ich habe einen PHP Code für File-Upload auf dieser Webseite gefunden: http://www.w3schools.com/php/php_file_upload.asp und dieser funktioniert einwandfrei (angepasst für TXT-Dateien).
    Es gibt aber ein Problem. Sobald ich JQuery Mobile Design für die Buttons im Header einbinde, funktioniert das Beispiel von der Webseite nicht mehr. Ich werde auf eine leere upload.php weitergeleitet. Die Webseite ist leer - ohne Inhalt und ohne Fehlermeldungen.
    Warum funktioniert der PHP-Code wegen JQuery Mobile nicht mehr und wie kann man das Problem lösen? Ich habe andere Beispiele mit JQuery/AJAX File Upload gefunden, aber diese nicht verstanden und konnte sie deswegen nicht zum Laufen bringen. Falls es nur mit JQuery/AJAX geht, könnte mir bitte jemand verständlich zeigen/erklären wie?


    Danke!

  • ?(
    Das habe ich doch. Gleich im ersten Satz ist der Direktlink nach dem Wort "gefunden:" zu dem Code von der w3schools Seite. Könnte ihr das wirklich nicht sehen? Ich sehe das sogar auf meinem Smartphone. Ich habe ein Screenshot von meiner Frage gemacht (siehe bitte Anhang). Dort ist die Url eindeutig zu erkennen - zumindest bei mir auf allen Geräten. Was steht bei euch nach dem Wort "gefunden:"?



    PS: Die Seite mit dem Code findet man auch, wenn man auf der w3schools Seite "PHP 5 File Upload" bei der Suche eingibt.

  • Es geht aber um deinen Code, nicht um den von w3schools.. erstens schreibst du selber, dass du ihn angepasst hast (demnach ist es also nicht mehr der gleiche Code..) und zweitens gibts es auf w3schools glaube ich deinen restlichen Code, der z.B. die jQuery Mobile Implementation enthaelt..

  • Hallo, ich habe PHP-Code nur gekürzt und JPG durch TXT ersetzt. Sobald ich Head mit JQuery einfüge, funktioniert der PHP Code nicht mehr -> leere Seite. Ich will die HTML Seite ausbauen und brauche JQuery Mobile Design.


    Hier "mein" Code:





    Nochmal meine Frage von oben:

    Zitat

    Warum funktioniert der PHP-Code wegen JQuery Mobile nicht mehr und wie
    kann man das Problem lösen? Ich habe andere Beispiele mit JQuery/AJAX
    File Upload gefunden, aber diese nicht verstanden und konnte sie
    deswegen nicht zum Laufen bringen. Falls es nur mit JQuery/AJAX geht,
    könnte mir bitte jemand verständlich zeigen/erklären wie?

    Danke!

  • Meines Wissens nach wird jQuery mobile erst aktiv wenn man seine Elemente mit entsprechenden data-tags versieht oder diese per eigenem Javascript manipuliert.


    Wenn ich mich irre tut es mir leid, wenn nicht dann würde dein Code (in dem Umfang wie du ihn zeigst) von jQuery definitiv nicht beeinflusst werden, das Problem liegt also woanders oder es fehlt nach wie vor Code.


    Bitte auch mal hier gucken:Fehlermeldungen finden

  • Mehr Code habe ich doch nicht...
    Nimm doch bitte den Code 1 zu 1 von dem Tutorial und füge dort einfach JQuery Mobile Design hinzu.
    Das habe ich auch in meiner Frage gleich am Anfang geschrieben (Mit dem Wort Webseite meine ich die Webseite mit dem Tutorial. Eine andere Webseite habe ich nicht. Ich baue meine Webseite lokal - xampp) :

    Zitat

    Sobald ich JQuery Mobile Design für die Buttons im Header einbinde,
    funktioniert das Beispiel von der Webseite nicht mehr.
    Ich werde auf
    eine leere upload.php weitergeleitet. Die Webseite ist leer - ohne
    Inhalt und ohne Fehlermeldungen.

  • Und warum genau sollten wir uns jetzt mit jQuery mobile beschaeftigen wenn du es offensichtlich ja schonmal eingebunden hast aber du dich aus irgendeinem Grund weigerst, uns eben den Code zur Verfügung zu stellen, wie du es eingebunden hast?
    Du musst doch irgendwo in deinem Code jQuery mobile eingebunden haben - wenn nicht, dann ist es auch nicht eingebunden und kann demnach den Fehler wohl nur schwer verursachen.

  • ?( ?( ?( ?( ?( ?( ?( ?( ?( ?( ?( ?( ?( ?( ?( ?( ?( ?( ?( ?( ?( ?( ?( ?( ?( ?( ?( ?( ?( ?(


    Ich habe doch meinen kompletten Code inklusive JQuery Mobile im Header gepostet!
    Ich habe NUR IM HEADER der HTML-Seite (wo ich meine Datei auswählen kann) den Verweis auf JQuery Mobile gemacht, weil ich das Design der Webseite damit machen MÖCHTE. Mehr habe ich noch nicht gemacht! Sobald ich diesen Header einfüge - den ich hier gepostet habe - funktioniert Upload nicht mehr. Habe ich irgendein Tag vergessen zu schließen? Ich finde keinen Fehler.


    Ich habe jetzt der PHP-Seite mit dem PHP-Code die <html> und <body> Tags verpasst und mein Browser zeigt mir jetzt endlich eine Fehlermeldung:


    Notice: Undefined index: fileToUpload


    Sobald ich den Verweis in der HTML Seite auf JQuery Mobile mache, kann die Seite mit PHP-Code mit $_FILES["fileToUpload"] nichts mehr anfangen. Wenn ich den Verweis in der HTML Seite auskommentiere, geht alles wieder. ?( ?( ?(

  • Hallo,
    jQuery-Mobile arbeitet ein Formular intensiv um, wie Du sehen kannst, wenn Du dir das HTML z. B. mit Firebug ansiehst. Näheres zur Verwendung von Formularen bei jQuery-Mobile kannst du hier nachlesen:
    http://demos.jquerymobile.com/…ocs/forms/docs-forms.html
    Beherzigt man den zitierten Hinweis, funktioniert alles.

    Zitat

    File Inputs


    Using a multipart form with a file input is not supported by ajax. In this case you should decorate the parent form with data-ajax="false" to ensure the form is submitted properly to the server.

  • Danke für die Kritik.


    Ebenso wie du ein Tool nutzt obwohl du seine Dokumentation nur überflogen hast. Bei speziellen Frameworks zu helfen ist leider nicht immer so einfach, dafür muss man damit nämlich bereits intensiver gearbeitet haben.

  • jQuery Mobile ist aber auch nicht so ganz ohne. Ich bin mal daran gescheitert, als ich damit eine Seite machen wollte, wo man Unterseiten durch horizontales Wischen fortschalten kann. Habe es aufgegeben und eine andere Lösung genommen. jQuery finde ich wesentlich einfacher, dort reichen geringe Grundkenntnisse und man kann sich das, was man gerade braucht, aus der Doku herausziehen.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!