Beiträge von Sempervivum

    Du bist kurz davor.

    Woran es scheitert:

    • In dem Befehl ist ein "ffmpeg" zu viel:
      ffmpeg.exe ffmpeg -i fulpmes1.mp4 -vcodec libx264 -acodec aac fulpmes1-h264.mp4
      Das Durchgestrichene muss raus.
    • In deiner Eingabeaufforderung befandest Du dich im Wurzelverzeichnis auf C:. Deshalb wird die Videodatei fulpmes1.mp4 nicht gefunden. Du musst mit cd in das Verzeichnis /ffmpeg/bin hinein gehen:

    Der dir-Befehl zeigt die die Dateien an, die im aktuellen Verzeichnis liegen.

    So getestet und funktioniert.

    Guten Tag und schönen Sonntag zurück!

    Zitat

    ich komme nicht dahin zu vervollständigen.

    Markiere den Code bzw. Text mit ffmpeg aus meiner ersten Antwort vollständig (Strg+C), dann mach die Eingabezeile in der Eingabeaufforderung leer mit "Backspace" und füge den Text ein (Strg+V). Dann mit "Enter" abschicken. ffmpeg sollte ein wenig arbeiten und Ausgaben bringen und dann müsste die konvertierte Datei fertig sein.

    Viel Erfolg und beste Grüße!

    Super, dass Du doch weitermachen willst!

    Wenn Du die Eingabeaufforderung hast und ffmpeg.exe, hast Du schon gute Voraussetzungen.

    Du musst das fragliche Video fulpmes1.mp4 in das selbe Verzeichnis wie ffmpeg.exe legen und dann den Code bzw. Befehl, den ich oben gepostet habe, in der Eingabeaufforderung eingeben oder hin kopieren und ausführen.

    Dann findest Du das konvertierte als fulpmes1-h264.mp4 im selben Verzeichnis und das sollte dann jeder aktuelle Browser abspielen können.

    Das ist sehr schade, Aufgeben ist immer schlecht.

    Für das Präsentieren von Einzelfotos ist eigentlich auch eine Slideshow eine gute Wahl. Ich habe mal einen Blick darauf geworfen. Wahrscheinlich wird sie von RocketCake bereit gestellt. Leider hat sie einige Mängel:

    • Das Sliden ist mit Javascript realisiert und funktioniert deshalb etwas hakelig. Heute hat man die Möglichkeit, es mit CSS-Animationen zu machen, dann würde es viel geschmeidiger laufen.
    • Keine Möglichkeit zu pausieren, das ist wenig benutzerfreundlich wenn man sich ein Foto nicht in Ruhe ansehen kann.
    • Die Bilder füllen den Rahmen nicht aus.

    Der Vorwurf geht natürlich nicht an dich sondern die Entwickler von RocketCake. Anscheinend haben sie versäumt, den Editor auf dem letzten Stand der Technik zu halten.

    Generell braucht es ein wenig Beharrlichkeit beim Entwickeln. Wenn man bei der ersten Schwierigkeit aufgibt, kommt man nicht weit.

    Das HTML dort ist fehlerhaft:

    Code
    <video  id="video_78bff89b" src=""<video controls autoplay>
         <source src="fulpmes1.mp4" type="video/mp4">
    </video> controls="controls" >
    Your browser does not support the video element.
    </video> 

    Korrigiere ich das im Seiteninspektor wird das Video zwar abgespielt aber ohne Inhalt. Offenbar stimmt etwas mit der Codierung nicht.

    Wenn ich es mit ffmpeg nach MP4 und H.264 umkodiere, spielt mein Browser (Firefox) es einwandfrei ab. Du musst das selbe tun, entweder in deinem Videoprogramm mit dem Codec H.264 exportieren oder mit ffmpeg umkodieren:

    Code
    ffmpeg -i fulpmes1.mp4 -vcodec libx264 -acodec aac fulpmes1-h264.mp4

    Viel Erfolg und einen schönen Abend!

    Hallo DataPearl

    Zitat

    da alle INPUT-Felder zusammen bereits in einem großen FORM liegen. Aus Übersichtsgründen (und auch wegen zwei Hintergrundprozessen) möchte ich aber nicht alle INPUT-Felder auf einmal anzeigen lassen, sondern sie in inhaltlich logische Abschnitte unterteilen.

    In dem Fall würde es sich anbieten, fieldset-Tags für die Unterteilung zu benutzen. Ich habe dafür mal eine Demo gemacht:

    So geht es mit wenigen Zeilen ganz ohne Klassen, nur die IDs für die Inputs brauchst Du wahrscheinlich, um die Werte auch durch das Skript ändern zu können.

    Und, Du hast zwar nicht danach gefragt, aber ich habe ein Feature benutzt was häufig als hilfreich für den Benutzer angesehen wird: Abhängig davon ob ein Element valide oder nicht valide ist, kann man die Anzeige variabel gestalten, hier mit rotem Hintergrund bzw. Rahmen.

    PS: Noch einfacher geht es, wenn Du die Formularvalidierung von HTML5 benutzt:

    Die Inputs in ein Formular legen und ihnen ein "required" geben, dann kannst Du mit der Funktion checkValidity prüfen, ob alles valide ist bzw. in deinem Fall alle Inputs ausgefüllt:

    Guten Morgen,

    ich hatte gestern schon die Idee, den MutationObserver zu verwenden, aber das scheitert daran, dass beim Setzen des Value sich das DOM nicht ändert und der Observer nicht feuert. Aber hier:

    MutationObserver doesn't react to changes to text input fields
    I'm working on adapting an IE-specific website to other browsers. For example, onpropertychange has been used extensively, and I'm using MutationObserver to…
    stackoverflow.com

    wird eine Lösung vorgeschlagen: Das value-Attribut ändern, dann feuert der MutationObserver. Hat zwar den Nachteil, dass Du zweigleisig fahren musst, wenn Du auch manuelle Eingaben erfassen willst, wäre aber eine recht elegante Lösung.

    Und auch zu deinem letzten Code für die Überprüfung mehrerer Inputs fällt mir ein elegantere Lösung ein:

    Den betr. Inputs eine Klasse geben und sie in einer Schleife abarbeiten:

    (ungetestet)

    Hallo DataPearl und willkommen im Forum!

    Ich dachte zunächst, das die Events "change" oder "input" dein Problem lösen aber das war ein Irrtum, wie auch hier angegeben wird:

    Pure JavaScript listen to input value change
    Is there a way I can create a constant function that listens to an input, so when that the input value changes, something is triggered immediately? I am…
    stackoverflow.com

    Die Lösungen mit Custom-Events, die dort angegeben werden sind unnötig kompliziert. Besser eine Funktion definieren, die deine Aktionen ausführt und explizit aufrufen:

    Oder etwas kompakter:


    Alternativ könnte man das auch noch etwas moderner aufziehen und das Ganze mit Klassen steuern und das Eventbubbling ausnutzen:

    Dann kannst Du auch die Gestaltung des weiter-Buttons mit CSS steuern:

    Code
            button#weiter {
                background-color: red;
            }
    
            button#weiter.aktiv {
                background-color: lightgrey;
            }

    Hallo Tamaleus

    wenn ich das richtig verstehe, müsste das variabel mit Parametern so aussehen:

    Ungetestet, versuche ob es funktioniert und melde dich wieder, wenn nicht.

    Das ist jetzt ein wenig ineffizient weil Du bei jedem Aufruf die komplette Quellseite laden musst. Besser wäre es eigentlich, gleich auf der Serverseite das Filtern zu erledigen. Aber Du schreibst ja, dass Du schon glücklich wärst, wenn es auf diese Weise funktioniert.

    Beste Grüße, Ulrich

    Guten Morgen Kaspar und willkommen im Forum!

    Folgende Hinweise zu deinem Problem:

    • Bist Du schon mit der Console vertraut? Rechtklick auf der Seite und dann "(Element) untersuchen". Dort bekommst Du Fehlermeldungen, die dir zeigen, wo genau Du suchen musst.
    • Datatables ist bewährt und sehr gut, aber auch ein wenig in die Jahre gekommen. Es gibt eine Alternative, die einfacher anzuwenden ist und kein jQuery braucht: https://tabulator.info/ Da Du ganz am Anfang ist, empfehle ich, gleich damit einzusteigen. Auch die spaltenspezifische Filterung ist ganz einfach mit einem headerFilter:"input" zu machen.
    • Wenn Du anfängst, lässt Du am besten erst Mal alle Erweiterungen weg und bringst es so zum Laufen. Bei Tabulator findest Du ein "Getting Started" - "Quick Start".

    Wenn Du dann noch nicht zum Ziel kommst, poste dein HTML, JS und CSS hier. Oder, noch besser, bring es online, damit man es live untersuchen kann.

    Beste Grüße, Ulrich

    Hallo Tim und willkommen im Forum!

    Erst mal zu deiner Detailfrage:

    Zitat

    Ich habe auch schon überlegt ob if(strlen nciht mit dem decimal Feld kompatibel ist?

    Vermutlich bezieht sich das auf die Validierung der Eingaben. Auch wenn die betr. Werte in der DB vom Typ int sind, sind die Werte, die aus den Eingabefeldern kommen, Strings. Daher ist es nicht verkehrt, ihre Länge zu prüfen.

    Der Kern der Sache scheint mir jedoch dieser Code zu sein:

    Code
    if ((strlen($Schraube)) > 0 and (! ctype_alpha($Schraube))) {
        echo "Data Error";
        exit;
    }

    Hier steigst Du aus wenn die Länge >0 ist, d. h. eine Eingabe vorhanden. Das ist jedoch der richtige Fall, d. h. Du musst die Abfrage genau umgekehrt machen.

    Darüber hinaus: Wie ist denn dieser Code entstanden?

    Viel Erfolg und beste Grüße, Ulrich