Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [jQuery] licznik kliknięć
Forum PHP.pl > Forum > XML, AJAX
dopelganger
cześć
chciałbym zrobić licznik kliknięć w dany baner, jednocześnie dany baner ma swój link do x strony i tu leży problem, bo:

  1. <script>
  2. function counter(dir) {
  3. $.post(dir, function(data){});
  4. }
  5. </script>
  6. <a href="'.$link.'"><img src="images/banners/'.$plik.'" onClick="counter(\'count.php?id='.$id.'\')" /></a>


i działa jeśli nie jest objete hiperłączem <a>, a w postaci jaką wkleiem nie działa sad.gif prosze o pomoc, próbowałem różnie i ni chu... a :/
trueblue
Zwróć false w zdarzeniu onClick.
W ajaxie na success pobierz href tagu i przekieruj.
pedro84
A najlepiej, to nada jakąś klasę, obsłuż zdarzenie "click" tak jak się to powinno robić i wtedy będziesz mógł sobie zliczać cokolwiek zechcesz.
dopelganger
Cytat(trueblue @ 2.09.2014, 20:01:28 ) *
Zwróć false w zdarzeniu onClick.
W ajaxie na success pobierz href tagu i przekieruj.


z tym ajaxem to nie za bardzo wiem jak, nie znam sie na tym , może mała podpowiedź ?
trueblue
http://api.jquery.com/jquery.ajax/
http://stackoverflow.com/questions/503093/...uery-javascript

A jeszcze lepiej gdybyś to zrobił korzystając z PHP i bazy, jeśli możesz.
W banerze podstawiasz link z identyfikatorem, w PHP odbierasz identyfikator, szukasz w bazie odpowiadającemu mu linka, zwiększasz statystyki, przekierowujesz na ten link za pomocą funkcji header.
dopelganger
Cytat(trueblue @ 2.09.2014, 20:39:08 ) *
http://api.jquery.com/jquery.ajax/
http://stackoverflow.com/questions/503093/...uery-javascript

A jeszcze lepiej gdybyś to zrobił korzystając z PHP i bazy, jeśli możesz.
W banerze podstawiasz link z identyfikatorem, w PHP odbierasz identyfikator, szukasz w bazie odpowiadającemu mu linka, zwiększasz statystyki, przekierowujesz na ten link za pomocą funkcji header.


tak własnie mam w bazie,,, tylko chodzi mi o ten link - hiperłącze, że jak używam <a href=" to nie zadziała, a bez linku mi to działa
Turson
  1. <a href="strona.php" class="licznik" site-id="2">cos tam</a>
  2. $('.licznik').click(function(){
  3. var site_id = $(this).attr('site-id');
  4. var href = $(this).attr('href');
  5. $.ajax({
  6. url: 'counter.php',
  7. data: { 'site_id' : site_id },
  8. type: 'POST',
  9. success: function(){
  10. window.location(href);
  11. }
  12. });
  13. return false;
  14. });

counter.php
  1. // update w bazie rekordu gdzie site_id = $_POST['site_id']

pisane z palca
trueblue
Cytat(dopelganger @ 2.09.2014, 21:02:29 ) *
tak własnie mam w bazie,,, tylko chodzi mi o ten link - hiperłącze, że jak używam <a href=" to nie zadziała, a bez linku mi to działa

Skoro masz linki w bazie, to nie stosuj JS.
Link ma wyglądać przykładowo tak:
<a href="link.php?id=1">baner</a>
Po kliknięciu, w pliku link.php odbierasz id linku w bazie.
Aktualizujesz statystykę dla tego linku, pobierasz rzeczywisty link (ten na który ma przekierować baner) i przekierowujesz za pomocą header('Location: http://tu_link_docelowy');
dopelganger
Cytat(trueblue @ 2.09.2014, 22:42:05 ) *
Skoro masz linki w bazie, to nie stosuj JS.
Link ma wyglądać przykładowo tak:
<a href="link.php?id=1">baner</a>
Po kliknięciu, w pliku link.php odbierasz id linku w bazie.
Aktualizujesz statystykę dla tego linku, pobierasz rzeczywisty link (ten na który ma przekierować baner) i przekierowujesz za pomocą header('Location: http://tu_link_docelowy');


dzięki zamykamy temat
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.