Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Zliczanie kliknięć w obiekt Flash
Kas
post
Post #1





Grupa: Zarejestrowani
Postów: 425
Pomógł: 0
Dołączył: 28.05.2005
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Mam gotowy plik Flash (w formacie SWF), którego nie mogę edytować. Umieszczam go na stronie i chcę zliczać kliknięcia w niego tak aby były zapisywane do bazy danych. Jak optymalnie to zrobić?


--------------------
nospor, jestem z Wami.
Alpha IT
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 12)
flashdev
post
Post #2





Grupa: Zarejestrowani
Postów: 812
Pomógł: 117
Dołączył: 2.12.2008

Ostrzeżenie: (10%)
X----


Cytat(Kas @ 5.08.2010, 00:21:33 ) *
Mam gotowy plik Flash (w formacie SWF), którego nie mogę edytować. Umieszczam go na stronie i chcę zliczać kliknięcia w niego tak aby były zapisywane do bazy danych. Jak optymalnie to zrobić?


100% pewności nie mam, ale na moje oko nie możesz tego zrobić.
Musiałbyś wyedytować flasha i wrzucić coś w tym stylu:

Kod
ExternalInterface.call('funkcja_js');


Edit:
Ale jest jeszcze inny sprytny sposób:
Tworzysz nowego flasha (kontener), w którym ładujesz swojego swf`a i wrzucasz do niego akcje obsługujące klik. To powinno zadziałać.

Ten post edytował flashdev 4.08.2010, 23:29:51


--------------------
Go to the top of the page
+Quote Post
Kas
post
Post #3





Grupa: Zarejestrowani
Postów: 425
Pomógł: 0
Dołączył: 28.05.2005
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Znalazłem coś takiego. Wygląda na to, że można za pomocą JavaScript wywoływać funkcje w momencie kliknięcia na obiekt Flash. Szkopuł w tym, że nie do końca rozumiem opis od Google. Czy jest taka możliwość aby funkcja JS wykonywała operacje w bazie MySQL?


--------------------
nospor, jestem z Wami.
Alpha IT
Go to the top of the page
+Quote Post
erix
post
Post #4





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Przez AJAX. winksmiley.jpg


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

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
Kas
post
Post #5





Grupa: Zarejestrowani
Postów: 425
Pomógł: 0
Dołączył: 28.05.2005
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Poproszę jakieś podpowiedzi. Z technologii AJAX nigdy nie korzystałem.


--------------------
nospor, jestem z Wami.
Alpha IT
Go to the top of the page
+Quote Post
erix
post
Post #6





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




A może by tak tutoriale najpierw poczytać?


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

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
Kas
post
Post #7





Grupa: Zarejestrowani
Postów: 425
Pomógł: 0
Dołączył: 28.05.2005
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Powiedzcie mi proszę w jaki sposób uruchomić poprzez AJAX skrypt PHP na serwerze oraz jak zliczyć kliknięcie w znacznik <object> Tylko tyle... smile.gif Obiecuję, że poczytam poradniki i samouczki, ale teraz tak na szybko potrzebuję to zliczanie. smile.gif


--------------------
nospor, jestem z Wami.
Alpha IT
Go to the top of the page
+Quote Post
erix
post
Post #8





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Nie ma, że na szybko. To nie jest helpdesk, że dostaniesz szybko na tacy to, czego Ci w tej chwili trzeba. Przez te 24 minuty czekania zdążyłbyś już wkleić jakiegoś gotowca i zmusić go do współpracy.


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

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
Kas
post
Post #9





Grupa: Zarejestrowani
Postów: 425
Pomógł: 0
Dołączył: 28.05.2005
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


No, masz rację... ;-) Znalazłem coś takiego:

  1. <script type="text/javascript">
  2. function showUser(str)
  3. {
  4. if (str=="")
  5. {
  6. document.getElementById("txtHint").innerHTML="";
  7. return;
  8. }
  9. if (window.XMLHttpRequest)
  10. {// code for IE7+, Firefox, Chrome, Opera, Safari
  11. xmlhttp=new XMLHttpRequest();
  12. }
  13. else
  14. {// code for IE6, IE5
  15. xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  16. }
  17. xmlhttp.onreadystatechange=function()
  18. {
  19. if (xmlhttp.readyState==4 && xmlhttp.status==200)
  20. {
  21. document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
  22. }
  23. }
  24. xmlhttp.open("GET","getuser.php?q="+str,true);
  25. xmlhttp.send();
  26. }
  27. </head>
  28.  
  29. <select name="users" onchange="showUser(this.value)">
  30. <option value="">Select a person:</option>
  31. <option value="1">Peter Griffin</option>
  32. <option value="2">Lois Griffin</option>
  33. <option value="3">Glenn Quagmire</option>
  34. <option value="4">Joseph Swanson</option>
  35. </form>
  36. <br />
  37. <div id="txtHint"><b>Person info will be listed here.</b></div>
  38.  
  39. </body>
  40. </html>


Jak rozumiem kluczowy jest ten fragment:

  1. xmlhttp.open("GET","getuser.php?q="+str,true);


Wywołanie metodą GET pliku getuser.php. Jaką metodą powinienem wywołać plik PHP jeżeli nie oczekuję odpowiedzi zwrotnej (skrypt ma się wykonać i tyle)?


--------------------
nospor, jestem z Wami.
Alpha IT
Go to the top of the page
+Quote Post
flashdev
post
Post #10





Grupa: Zarejestrowani
Postów: 812
Pomógł: 117
Dołączył: 2.12.2008

Ostrzeżenie: (10%)
X----


Cytat(Kas @ 5.08.2010, 19:51:48 ) *
Znalazłem coś takiego. Wygląda na to, że można za pomocą JavaScript wywoływać funkcje w momencie kliknięcia na obiekt Flash. Szkopuł w tym, że nie do końca rozumiem opis od Google. Czy jest taka możliwość aby funkcja JS wykonywała operacje w bazie MySQL?


A w linku masz podany kod śledzący dla flasha:
Kod
on (release) {
// Track with no action
getURL("java script:pageTracker._trackPageview('/folder/file.html');");
}

on (release) {
//Track with action
getURL("java script:pageTracker._trackPageview('/folder/file.html');");
_root.gotoAndPlay(3);
myVar = "Flash Track Test";
}

onClipEvent (enterFrame) {
getURL("java script:pageTracker._trackPageview('/folder/file.html');");
}


Posłuchaj to co Ci mówię (mój pierwszy post). Podałem Ci na tacy gotowe rozwiązanie a Ty dalej masz wątpliwości. Oczekujesz gotowego kodu?

szukaj pod hasłami: ExternalInterface, LoadMovie

Ten post edytował flashdev 6.08.2010, 21:04:43


--------------------
Go to the top of the page
+Quote Post
Kas
post
Post #11





Grupa: Zarejestrowani
Postów: 425
Pomógł: 0
Dołączył: 28.05.2005
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Twoje rozwiązanie mi nie odpowiada. Chcę zrobić to inaczej, poprze JavaScript.

Z tego co widzę mogę zrobić coś takiego:

  1. <object onclick="xmlhttp.open("GET","getuser.php?q="+str,true);">...</object>


Pytanie czy to będzie działać? Jaką metodą powinienem wysyłać żądanie?


--------------------
nospor, jestem z Wami.
Alpha IT
Go to the top of the page
+Quote Post
flashdev
post
Post #12





Grupa: Zarejestrowani
Postów: 812
Pomógł: 117
Dołączył: 2.12.2008

Ostrzeżenie: (10%)
X----


Cytat(Kas @ 7.08.2010, 17:02:20 ) *
[...]
Pytanie czy to będzie działać? Jaką metodą powinienem wysyłać żądanie?


Może warto sprawdzić?
Na moim komputerze cuda się nie zdarzają, więc oczywiście takie coś nie działa.


--------------------
Go to the top of the page
+Quote Post
Kas
post
Post #13





Grupa: Zarejestrowani
Postów: 425
Pomógł: 0
Dołączył: 28.05.2005
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Mam wielką prośbę: czy możesz także dodać czemu miałby być to cud? Do tego, że taki kod nie działa doszedłem już sam, ale nie wiem dlaczego. Wiem, że to nie płatny support od Zend, ale byłoby wspaniale gdybyście mnie nakierowali. Wiecie co chcę osiągnąć...

O ile wiem parametr onclick pozwala na wywołanie funkcji JavaScript. W takim razie czemu

  1. <object onclick="xmlhttp.open("GET","getuser.php?q="+str,true);">...</object>


nie działa?

Edycja: dobra, poszukałem, odpytałem wujka Google i napisałem takie coś:

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  4. <title>bez nazwy</title>
  5. <meta http-equiv="content-type" content="text/html;charset=utf-8" />
  6. <meta name="generator" content="Geany 0.18" />
  7. </head>
  8. <script type="text/javascript">
  9. function licznik(id)
  10. {
  11. var xmlhttp;
  12. if (window.XMLHttpRequest)
  13. {
  14. xmlhttp=new XMLHttpRequest();
  15. }
  16. else if (window.ActiveXObject)
  17. {
  18. xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  19. }
  20. xmlhttp.open("GET","test.php?id="+id,true);
  21. xmlhttp.send(null);
  22. }
  23.  
  24. <img src="http://m.onet.pl/_m/d9c35deb6dfee27f3e5491cc1f63bd43,5,1.jpg" onclick="licznik(10);" />
  25.  
  26. </body>
  27. </html>


i

  1. <?php
  2. $id=$_GET["id"];
  3. $ourFileName = "testFile.txt";
  4. $ourFileHandle = fopen($ourFileName, 'w') or die("can't open file");
  5. fwrite($fp, $id);
  6. fclose($ourFileHandle);
  7. ?>


Plik jest tworzony bez problemu, ale wartość id nie jest zapisywana. Czemu?

Ten post edytował Kas 8.08.2010, 12:04:43


--------------------
nospor, jestem z Wami.
Alpha IT
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 17:52