Contorizare click-uri pe buton

Discutii si intrebari legate de scripturi si functii JavaScript, jQuery si Ajax, cod JavaScript in general.
cristian_bacargiu
Mesaje:1

Contorizare click-uri pe buton

Buna ziua,
Incerc sa realizez o pagina de internet , si in mare parte am reusit si datorita informatiilor de pe acest site.Multumesc!
As dori sa-mi dati o sugestie vis-a-vis de o problema pe care o intampin.

As dori sa contorizez (nr. de clickuri) care se dau pe un buton Send FB (preluat). As vrea ca aceste click-uri sa fie stocate intr-o baza de date. Am reusit sa fac acest lucru cu clase obiect, dar pentru butonul sentFb nu am reusit.
Atasez un fragment de cod. In speranta ca imi veti da un indiciu favorabil
Va multumesc anticipat. Cristian Bacargiu.

Cod: Selectaţi tot

<div class="layout-cell layout-item-2" style="width: 15%" >
      <p><?php include('send Fb/send FB.php'); ?>
    </div>
    <div class="layout-cell layout-item-2" style="width: 35%" >
      <p><a href="" class="button"><?php echo $objCA_send_fb->getAccess('adresa.ro/blog/01_articol.html');  ?></a></p>
Unde send FB.php are urmatorul cod :

Cod: Selectaţi tot

<script>(function(d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s); js.id = id;
  js.src = "//connect.facebook.net/en_US/all.js#xfbml=1";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>

<div class="fb-send" data-href="adresa.ro/blog/01_articol.html"></div>

MarPlo Mesaje:4343
Salut
Cred ca se poate cu Ajax. Adaugi in tag-ul HTML care e acel buton, acest atribut: onclick="return fAjax(1)" (apeleaza fAjax() la clic) , iar fAjax() e o functie JavaScript Ajax care primeste ID-ul butonului (aici e 1, trebuie sa fie acelasi care e asociat in baza de date) si apeleaza un fisier PHP pe server, transmitant prin POST ID-ul. In acel fisier php ai codul care preia ID-ul si incrementeaza in baza de date numarul de accesari pe buton, de la ID-ul transmis.
Poti folosi in codul JavaScript aceasta functie Ajax (daca nu te pricepi la Ajax, vezi lectiile din cursul de pe site).

Cod: Selectaţi tot

function fAjax(id) {
  var request =  (window.ActiveXObject) ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest();

  // create pairs index=value with data that must be sent to server
  var  the_data = 'id='+ id;

  request.open("POST", 'nume_fisier.php', true);			// set the request

  // adds  a header to tell the PHP script to recognize the data as is sent via POST
  request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  request.send(the_data);		// calls the send() method with datas as parameter

  return true;
}
In fisierul php se preia id-ul cu: $id = $_POST['id']; , si se face Insert / Update la numarul de contorizari de la acel ID.