Contorizare click-uri

pai bate-o si tu pe ea !

in alta ordine de idei

  1. pe acel link pui onclick=clicks()
  2. initializezi o variabila cu 0 si apoi o incrementezi
  3. trimiti variabila click care are nr de click-uri la baza de date. Poti folosi ori fetch ori alt ceva

Pt ip poate trebuie sa folosesti ce stie acel Blade din Laravel. Cred ca ce a zis @Cristi_Nebunu, te ajuta pt partea de ip. Cred ca ar fi bine ca mai intai sa setezi o sesiune pt user-ul logat.

Edit: Am adaugat si partea de trimitere la server. De chestiile comentate este posibil, sau nu, sa ai nevoie. Cauti si tu pe mdn ce fac

Atat


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script>
    let clicks = 0;
    const url = `your_url`;
    function clickMe() {
        clicks += 1;
        document.getElementById("clicks").innerHTML = clicks;
        sendClicks(url, {nr_clicks: clicks, ip: "192.168.0.45"})

    }

    function sendClicks(url = ``, data = {}){
        return fetch(url, {

            method: "post",
            //mode: "cors",
            //cache: "no-cache",
            //credentials: "same-origin",
            headers: {
                'Content-Type': 'application/json'
            },
            //redirect: "follow",
            //referrer: "no-referrer",
            body: JSON.stringify(data),

        })
        .then(response => response.json())
            .then(data => console.log(data))
            .catch(err => console.error(err));

    }
</script>
<a href="https://stackoverflow.com/questions/22402777/html-javascript-button-click-counter" onclick="clickMe()" target="_blank">Click</a>
<p>Clicks: <a id="clicks">0</a></p>
</body>


</html>
1 Like