pai bate-o si tu pe ea !
in alta ordine de idei
- pe acel link pui
onclick=clicks()
- initializezi o variabila cu 0 si apoi o incrementezi
- 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>