Beiträge von Arne Drews

    Weiß ich ehrlich gesagt nicht, habe das im Prinzip noch nie gebraucht. Musst Du mal testen.

    Es gibt - informativ erwähnt - auch noch history.replaceState(), macht prinzipiell das gleiche, wie pushState() mit dem Unterschied, dass bei replaceState() die History nicht erweitert, sondern quasi überschrieben wird.

    Ein <form>-Tag muss alle Formular-Elemente die dessen zugehörig sind umschließen, nicht nur den Submit-Button.

    Der Submit ist nur dazu da, das Formular und dessen Key-Value-Pairs zu übertragen.


    In Deiner <form> ist aber keine E-Mail Adresse enthalten.


    Sei mir nicht böse, aber Du hängst an so vielen Grundlagen, dass ich Dein Vorhaben aktuell in Frage stelle...

    Du musst doch wissen, was Du in Deinen Scripten verwendest bzw. was die verwendeten Funktionen/Methoden machen?!


    Ok, bevor es hier zu langes hin und her wird, ein ganz heißer Tipp:

    PHP
    $updateEmail = $dbv->prepare("UPDATE users SET adresse = :adresse WHERE userId = :userId");

    Hier initialisierst Du eine Instanz vom Typ PDOStatement, mit Namen $updateEmail.

    Die Query, die das prepare() an das Objekt $updateEmail übergibt lautet UPDATE users SET adresse = :adresse WHERE userId = :userId.


    In der Query hast Du zwei Platzhalter, :adresse und :userId.


    Preisfrage: Welchen Parameter bindest Du nicht mit einem Wert:

    PHP
    $result = $updateUser->execute(
        array(
            ":adresse" => $adresse
        )
    );

    Und genau das sagt Dir die Exception: SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens

    Mit JavaScript ist das es zwar möglich, die Adresszeile zu ändern, Beispiel:

    JavaScript
    var oState = { foo : "bar" };
    history.pushState( oState, "some title", "bar.html" );

    Das sorgt dafür, dass die Adresszeile von bspw. https:www.example.com/foo.html geändert wird auf https://www.example.com/bar.html, wobei aber kein neuer Inhalt geladen wird! Insofern würde die Musik natürlich weiterspielen und inhaltlich könnte Ajax dafür hergenommen worden sein.


    Ich meine aber auch mal gelesen zu haben, dass man mit Streams und dem LocalStorage auch die Möglichkeit hat Musik Request übergreifend abspielen zu lassen.

    Weiß aber ahoc nicht mehr, wo das war, musste sonst mal nach suchen.


    EDIT: Gerade noch was dazu gefunden, was die Navigation angeht, evtl. hilft das weiter:

    https://developer.mozilla.org/…b/API/History_API/Example

    Ich weiß nicht genau, was Du meinst, egal, was ich klicke, es wird die Seite neu geladen.

    Sobald sich die URI in der Adresszeile Deines Browsers ändert, ist es i.d.R. auch ein komplett neuer Request.

    Die Seite lädt nur relativ zügig, so dass Du evtl. das Gefühl hast, es würde nicht alles geladen?


    Ansonsten könnte ich Dir noch das AJAX-Prinzip nahelegen, falls Du sowas meinst.

    Gut das mit den Facebook Login finde ich selber nee schöne Sache. wenn ich so rumsurfe und ein neues Forum finde,finde ich das gut wenn man mit 1 Klick da drinne ist und sich nicht erst Registrieren muß.

    Dass Facebook dann wieder Bewegungsdaten von Dir sammeln kann und wird, weißt Du aber?


    Vorallem wenn man dann merkt das es nix ist und sich um sonst registriert hat .

    Dann ist es zu spät. Die Daten, die Facebook gesammelt hat, bleiben erhalten...


    Facebook ,Google und co hatte ich bis jetzt ja alles weggelassen weil ich auch eigentlich keine lust hatte mich mit der DSGVO auseinander zusetzten.

    Dann hast Du ja jetzt die Gelegenheit dazu... :P


    Ich verstehe allerdings den Hype um diese Social-Logins nicht.

    Was ist komplizierter daran, eine Schnellregistrierung zur Verfügung zu stellen, Benutzername, E-Mail Adresse und Passwort, Datenschutz-Hinweis und AGB-Bestätigung und feddich. Weitere Daten können im Profil erweitert werden, mehr als die drei Sachen benötigt man im ersten Step nicht.

    Den Facebook-Login würde ich nur einsetzen, wenn Du wirklich immensen Mehrwert davon hast, was ich nicht glaube.

    Der Einsatz dieser Technologie erfordert einen Datenschutz-Passus nach DSGVO ( wo ich bei Deinem Forum gar nichts von sehe?! ).

    Wie willst Du Deine Vertrauenswürdigkeit beglaubigen lassen?

    Wenn Du technisch und vom KnowHow her in der Lage bist, eigene Zertifikate zu erstellen, müsstest Du eigentlich auch wissen, was noch zu tun ist, um als Zertifizierungsstelle zu gelten.


    Erstellst Du lediglich Zertifikate auf Basis anderer Zertifizierungsstellen, nennt sich das Reseller.

    Und sonst einfach mal eine XLSX entpacken und einen Blick reinwerfen.

    Die meisten Definitionen kann man 1:1 übernehmen, nur die workbooks.xml ud sheets.xml sind hauptsächlich interessant.


    Dürfte gar nicht sooo schwer sein, daraus eine eigene .xlsx zusammenzusetzen.

    Ich vermute, dass I dann angepasst wird, bspw. -1 für ein Datum, das in den Bereich fällt, in dem es keine Sommer-/Winterzeit mehr gibt. Dann würde der Parameter alles abdecken. Ist am Ende aber auch nur Spekulation.


    Noch zum Vorteil PHP gegenüber JS: Script-Blocker!

    Du kannst Pech haben, dass diese Dein Script blockieren und es somit nicht funktioniert. Mit PHP kann Dir das nicht passieren, weil der Client damit nichts zu tun hat.

    Ich kann nur aus Erfahrungen mit PHPExcel sprechen, aber das war bei größeren Datenmengen so inperformant durch übermässige Resourcennutzung, dass ich mir weitere Klassen nicht angesehen habe. Die hier erwähnten mögen anders arbeiten und den Zweck Resourcen freundlich erfüllen, keine Ahnung.


    Muss der TE selbst wissen.


    EDIT:

    Ich sehe gerade, dass PHPSpreadsheet offiziell PHPExcel abgelöst hat. Wenn da nicht grundlegend was geändert wurde, wäre das aus meiner SIcht zumindest für große Datenmengen keine Empfehlung!