Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Link + onclick()
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
neo.priv
Witam, jestem totalnym lalikiem z JavaScripts. ChciaLbym sprawdzić czy ktoś kliknoł w link, jak tak to ma sie wykonać określona akcja.

Wydaje mi sie, że powinienem uży onclick(), ale co dalej to nie mam pojecia.

Wystarczy ze po kliknięciu w link bede miał aktywną zmienna, którą poźniej wykożystam w php.

Może ktoś wie jak to zrobić?
gekon
Co dokładnie miałoby to robić?
Bastion
o ile dobrze zrozumialem mozesz zrobic to np w ten sposob

  1. <script type="text/javascript">
  2. function SetCookie(name, value, expires, path, domain, secure)
  3. {
  4. if ( expires && String(expires).toLowerCase() == 'never' )
  5. {
  6. expires = 'Thu, 31-Dec-2099 23:59:59 GMT';
  7. }
  8.  
  9. document.cookie = name + '=' + escape (value) +
  10. ((expires) ? '; expires=' + expires.toGMTString() : '') +
  11. ((path) ? '; path=' + path : '') +
  12. ((domain) ? '; domain=' + domain : '') +
  13. ((secure) ? '; secure' : '');
  14. }
  15.  
  16. function MyLink(name, url)
  17. {
  18. SetCookie(name, 1);
  19. window.location = url;
  20. }
  21. </script>
  22.  
  23. <a onclick="MyLink('phplink', 'http://www.php.pl');">www.php.pl</a>


-------------

a potem w skrypcie php sprawdzasz czy masz ciastsko 'phplink'

  1. <?php
  2.  
  3.  if (isset($_COOKIE['phplink']))
  4.  {
  5.  $odwiedzil_php_pl = true;
  6.  }
  7.  
  8. ?>
neo.priv
Dokłądnie o coś takiego mi chodzilo, sprawdziłem działą z moim skryptem.

Jednak jak użytkownik nie bedzie miał włączonej opcji zapisywania ciasteczek to wtedy klapa.

Dzieki Bastion.
Pozdrowienia.
kamiseq
a jkaos zakombinowac z formularzem?
eai
XMLHttpRequest

1. xmlhttp.js
Kod
var xmlhttp
/*@cc_on @*/
/*@if (@_jscript_version >= 5)
  try {
  xmlhttp=new ActiveXObject("Msxml2.XMLHTTP")
} catch (e) {
  try {
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP")
  } catch (E) {
   xmlhttp=false
  }
}
@else
xmlhttp=false
@end @*/
if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
try {
  xmlhttp = new XMLHttpRequest();
} catch (e) {
  xmlhttp=false
}
}


2. index.html
  1. <script src="xmlhttp.js" type="text/javascript"></script>
  2.  
  3. function ajax(item) {
  4.  
  5. url="skrypt.php?item=" + item;
  6. xmlhttp.open("GET",url,true);
  7. xmlhttp.setRequestHeader('Accept','message/x-formresult');
  8. xmlhttp.send(null);
  9.  
  10.  
  11. }
  12. </head>
  13. <a href="java script:ajax('link');">Link</a> |
  14. <a href="#" onclick="java script:ajax('link2');">Link 2</a> |
  15. <span onclick="return ajax('klik');">Klik</span>
  16. </bodY>
  17. </html>


3. skrypt.php
  1. <?php
  2.  
  3. # Przykład: Zliczamy klikniecią w element i zapisujemy w zmiennej sesyjnej.
  4.  
  5.  
  6.  
  7. $item = (!empty($_GET['item'])) ? $_GET['item'] : 0;
  8.  
  9. if ( $item ) {
  10.  
  11. # Wykonujemy jakąś akcje ze zmienną item
  12. # Zapisujemy do bazy danych itp.
  13.  
  14. $_SESSION[$item] = (!empty($_SESSION[$item])) ? $_SESSION[$item] + 1 : 1;
  15.  
  16. }
  17.  
  18.  
  19. echo "<pre>"; print_r((!empty($_SESSION)) ? $_SESSION : ''); echo "</pre>";
  20.  
  21.  
  22. ?>


Example:

index.html
skrypt.php
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.