Javascript Variable an PHP übergeben

  • Hallo zusammen

    Ich stehe vor einem kleinen Problem... Ich würde gern eine Variable an PHP übergeben. Das ganze ist so aufgebaut, dass man auf der Startseite auf ein Plus klicken kann. Dieser hochgezählte Wert sollte dann an PHP übergeben werden und später in die DB geschrieben werden. Leider bekomme ich die Variable einfach nicht rüber.


    Code
    let count = 0;
    countup.addEventListener("click", function() {
            count = count + 1;
            counter.innerText = count;
            let avgberechnung = count / 365;
            avg.innerText = avgberechnung + " Ø ";
    },false);

    in der PHP datei soll dann einfach eine Variable mit dem Wert der Count Variable aus Javascript angelegt sein.



    Liebe Grüße
    Daniel

  • Hallo Daniel,


    Javascript wird auf dem Browser des Users ausgeführt, php auf deinem Webserver.

    Was du ja machen willst, nennt sich "ajax".

    Ein asyncroner Request an den Server, indem du ihm den Inhalt der Variablen mitteilst.


    Aber bedenke, dass auch ein "Angreifer" einfach so den Ajax Request ausführen kann und so möglicherweise missbrauchen.

    Dagegen kann man sich aber bedingt schützen.

    Meine (Netcup) Produkte: S 1000 G7, VPS 200 G8 Ostern 2019, IPs, Failover..

  • Hallo Lukay,


    danke für die schnelle Antwort. Ja das wusste ich bereits ich kann es nur nicht umsetzten ist mein Problem.

    Ja das sollte ich dann vermutlich auch machen aber ist mehr ein Übungs-Projekt, wo ich dies einsetzten möchte.

  • So ist mein bisheriger Ansatz:


    in der save.php fange ich die Daten dann so ab:


    PHP
    <?php
    
            $count = $_POST['data'];
            echo $count;
            
    ?>

    nur funktioniert das auf keinem Auge

  • So ist mein bisheriger Ansatz:

    In dem Beispiel fehlt, wie du dem Request die Daten übergibst..

    (Edit, jetzt hab ichs erst gesehen, dein "data" muss so aussehen wie unten)

    Das musst du als Querysting machen "parameter=wert&Parameter2=wert2"


    Kennst du schon die Entwicklerkonsole deines Browsers?
    Darin kannst du den Request (Tab Netzwerk) sehen. Und auch was zum Server geschickt wird und was er antwortet.

    Ist dort kein Request zu sehen, ist im Tab Konsole vielleicht ein Javascript Fehler zu sehen..

    Meine (Netcup) Produkte: S 1000 G7, VPS 200 G8 Ostern 2019, IPs, Failover..

  • Okay wo muss ich was an Data anfügen?

    Der Inhalt deiner Variable muss so aussehen "data=count" (Wobei "count" der Inhalt der Variable "count" ist)

    Mit dem "&" kannst du noch weiter Parameter anhängen. Die siehst du dann alle im $_POST Array.

    Meine (Netcup) Produkte: S 1000 G7, VPS 200 G8 Ostern 2019, IPs, Failover..

  • PHP
    <?php
    
            $count = $_POST['data'];
            echo $count;
            
    ?>


    Für Später:

    - Breche vorzeitig ab, sobald $_POST['data'] nicht existiert.

    - Validiere die Variable (da diese von Außen kommt und deine Datenbank durch SQL-Injections beschädigen könnte)

    - (Optional:) Die PHP-Klammer zuletzt brauchst du nicht, wenn er danach kein HTML mehr parst.