Beiträge von Sempervivum

    Ich habe mal einen Blick in die Doku geworfen:

    https://www.php.net/manual/de/function.ssh2-sftp.php

    U. U. könnten diese Zeilen schon ausreichen um die Verbindung zu testen:

    Code
    1. # Verbindung zum PI herstellen #
    2. $connection = ssh2_connect('xxx.xxx.xxx.xx', 22);
    3. ssh2_auth_password($connection, 'xxx', 'xxx');
    4. $sftp = ssh2_sftp($connection);
    Zitat

    This method returns an SSH2 SFTP resource for use with all other ssh2_sftp_*() methods and the ssh2.sftp:// fopen wrapper, Bei einem Fehler wird false zurückgegeben..

    Prüfe ob $sftp auf false geht, wenn der PI nicht erreichbar ist.

    Zitat

    Ich stochere völlig im Dunkeln, wie ich den Inhalt der Datenbank und mein Javascript zusammenbringe. Es gelingt mir nicht, irgendetwas zu ergoogeln, das mich weiterbringt, da ich nicht mal weiß, wonach ich googeln sollte. Mir fehlt jede Vorstellung dessen, was passieren muss, nachdem PHP die Daten aus der Datenbank bekommen hat.

    Der Begriff, der dir fehlt, lautet "ajax". Das ist ein Verfahren um Informationen, die auf dem Server vorhanden sind, ohne Neuladen der Seite, in den Client bzw. in den Browser zu bekommen:

    https://developer.mozilla.org/…uide/AJAX/Getting_Started

    Statt des XMLHttpRequest, der hier angegeben wird, bevorzuge ich jedoch das modernere und einfachere fetch:

    https://developer.mozilla.org/…API/Fetch_API/Using_Fetch

    ichkannnix schrieb:

    Gibt es irgendwelche Vorteile bei einem von den 3 Beispielen?

    Das dritte mit dem +=+ ist auf keinen Fall zu empfehlen, da Trickprogrammierung und schwer verständlich.

    Den Unterschied bei den anderen beiden kannst Du selber austesten durch diesen Code:

    Code
    1. const str = " 1248 xyz";
    2. console.log(parseInt(str));
    3. console.log(Number(str));
    Zitat

    habe in anderen Skripten gesehen das da oft eine ID steht ,die irgendwas mit dem Feld, Button oder sonst was am Hut hat.

    Genau, anders gesagt, IDs, Variablennamen etc. sollten sprechend bzw. aussagefähig sein. Das erleichtert das Verständnis für Außenstehende, wenn Du z. B. im Forum um Rat fragst und auch dir selbst, wenn Du dir das in einem halben Jahr wieder ansiehst.

    Zitat

    Früher war es verboten eine Variable, Funktion oder ID eine Zahl zu geben, die Browser hatten damit Probleme.

    AFAIK trifft das auf Variablen und Funktionen immer noch zu, nur für IDs ist es in HTML5 zulässig.

    Es gibt noch einen anderen Gesichtspunkt bei der Sache: In CSS ist eine numerische ID wiederum nicht zulässig. getElementById funktioniert damit aber nicht querySelector und auch nicht querySelectorAll weil für den Selektor, der als Parameter übergeben wird, die Regeln von CSS gelten und damit eine Zahl nicht zulässig ist.

    Deshalb ist es nicht empfehlenswert eine reinen Zahlenwert als ID zu nehmen.

    Der Zugriff, den Du bei deinem Alert verwendest, funktioniert übrigens, wenn man ihn so umändert:

    console.log(window['1'].value);

    Aber ebenfalls nicht empfehlenswert.

    Nein, Du brauchst Math nicht. Das ist etwas verwirrend in Javascript: Das Pluszeichen dient sowohl zum Addieren von Zahlen als auch zum Zusammenfügen von Strings. Und weil der Inhalte eines Eingabefeldes ein String ist, werden die Zahlen zusammen gefügt statt addiert. Wandle die Strings aus den Eingabefeldern mit parseInt in eine Zahl um, dann funktioniert es, wie Du möchtest.

    Der erste Schritt wäre, die Fragen und Antworten auf dem Server abzulegen und das ginge durchaus auch ohne PHP und nur mit Javascript und Ajax bzw. fetch. Du müsstest dann, wenn Du auf PHP verzichten willst, die Fragen und Antworten in unterschiedlichen Dateien ablegen:

    Erste Datei: Erste Frage und die Antworten dazu.

    Zweite Datei: Lösung für die erste Frage sowie zweite Frage und Antworten dazu.

    Dritte Datei: Lösung für die zweite Frage und ...

    Wenn es jetzt jemand darauf anlegt, zu schummeln, könnte er immer noch die URL der nächsten Datei ablesen und die Datei mit der Lösung laden aber Du wärst immerhin einen Schritt weiter und es ginge nicht direkt durch Auslesen des Quelltextes.

    Stimme zu, das wäre eine Alternative. Und zu dem Einwand vom Fragesteller selber:

    Zitat

    Mein Ansatz war es in der Media Square mit display none auszublenden. Ich habe aber gelesen dass diese Methode nicht optimal ist weil es das Video trotzdem lädt was für das Handy nicht so toll wäre.

    ist zu sagen, dass die Browser auf Mobilgeräten ein Autoplay nicht zulassen. Daher kann man davon ausgehen, dass auch auf Mobilgeräten das Laden des Videos unterbleibt.

    Hast Du dir meinen Link in #2 angesehen? Versuche es damit und wenn Du nicht zum Ziel kommst, melde dich wieder.


    Es gibt jedoch eine Einschränkung bei deinem Vorhaben: Auf mobilen Geräten unterdrücken die Browser i. allg. ein Autoplay und starten ein Video nur durch Interaktion des Benutzers. Und Scrollen gehört nicht zu den Aktionen, die es tun, jedenfalls nicht im Samsung-Browser.

    Wenn Du die Breite auf auto setzt, stellt der Browser sie entspr. der natürlichen Breite ein. Bleibt die Frage, wie Du diese wenigen Elemente adressierst. Hast Du die Möglichkeit, ihnen eine bestimmte Klasse zu geben? Wenn nicht, sehe ich nur die Möglichkeit, sie mit nth-child oder nth-of-type zu adressieren, aber dazu müssten sie auf der selben Stufe im DOM liegen.