Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP & JavaScript] Problem z wyświetlaniem skyptu w różnych przeglądarkach
Forum PHP.pl > Forum > Przedszkole
-Emil-
Witam,
posiadam skrypt rankingu - znajduje się na stronie ebukmacher.net

Problem jest taki - na niektórych przeglądarkach działa, na niektórych nie.
A oto kod (ajax.php):
  1. <?php
  2.  
  3. mysql_connect('localhost', 'blabla', 'blabla');
  4. mysql_select_db('blabla');
  5.  
  6. require_once('FastJSON.class.php');
  7. $json = new FastJSON;
  8.  
  9. switch($_POST['module'])
  10. {
  11. case 'load_toplist':
  12. $list = array();
  13. $query = mysql_query('SELECT * FROM toplist ORDER BY count DESC');
  14. while($row = mysql_fetch_array($query))
  15. {
  16. $list[] = $row;
  17. }
  18. echo $json->encode($list);
  19. break;
  20. case 'vote_down':
  21. if(is_numeric($_POST['id']))
  22. {
  23. if(isset($_COOKIE['toplista']) && $_COOKIE['toplista'])
  24. {
  25. // nie moze glosowac. tu mozesz sobie cos wymyslic, np zwracanie, ze nie mozna glo
    sowac 2 razy
  26. }
  27. else
  28. {
  29. mysql_query('UPDATE toplist SET count = count - 1 WHERE id = "' . intval($_POST['id']) . '"');
  30. setcookie('toplista', true, time() + 3600 * 24);
  31. }
  32. }
  33. break;
  34. case 'vote_up':
  35. if(is_numeric($_POST['id']))
  36. {
  37. if(isset($_COOKIE['toplista']) && $_COOKIE['toplista'])
  38. {
  39. // nie moze glosowac. tu mozesz sobie cos wymyslic, np zwracanie, ze nie mozna glo
    sowac 2 razy
  40. }
  41. else
  42. {
  43. mysql_query('UPDATE toplist SET count = count + 1 WHERE id = "' . intval($_POST['id']) . '"');
  44. setcookie('toplista', true, time() + 3600 * 24);
  45. }
  46. }
  47. break;
  48. }
  49. ?>



Kod base.js
  1. <?php
  2. function load_toplist()
  3. {
  4. $.ajax
  5. (
  6. {
  7. dataType: 'json',
  8. type:  'POST',
  9. url: 'http://ebukmacher.net/ajax.php',
  10. data:
  11. {
  12. module: 'load_toplist'
  13. },
  14. success: function(json)
  15. {
  16. //alert(json);
  17. fill_toplist(json);
  18. }
  19. }
  20. )
  21. }
  22.  
  23. function fill_toplist(json)
  24. {
  25. document.getElementById('toplista').innerHTML = '';
  26.  
  27. for(var i=0; i<json.length; i++)
  28. {
  29. var li = document.createElement('li');
  30. li.innerHTML = (+ 1) + '. <a href="'+json[i].url+'">' + json[i].name + '</a><a href="javascript:vote_up('+json[i].id+');"><img class="menuup" src="http://ebukmacher.net/img/up.jpg" alt="Oce� pozytywnie bukmachera" /></a><a href="javascript:vote_down('+json[i].id+');"><img class="menudown" src="http://ebukmacher.net/img/down.jpg" alt="Oce� negatywnie bukmachera" /></a><span class="punkty">' + json[i].count + '</span>';
  31. document.getElementById('toplista').appendChild(li);
  32. }
  33.  
  34. }
  35.  
  36. function vote_up(id)
  37. {
  38. $.ajax
  39. (
  40. {
  41. dataType: 'json',
  42. type:  'POST',
  43. url: 'http://ebukmacher.net/ajax.php',
  44. data:
  45. {
  46. module: 'vote_up',
  47. id: id
  48. }
  49. }
  50. )
  51. load_toplist();
  52. }
  53.  
  54. function vote_down(id)
  55. {
  56. $.ajax
  57. (
  58. {
  59. dataType: 'json',
  60. type:  'POST',
  61. url: 'http://ebukmacher.net/ajax.php',
  62. data:
  63. {
  64. module: 'vote_down',
  65. id: id
  66. }
  67. }
  68. )
  69. load_toplist();
  70. }
  71. ?>
-Emil-
Problem rozwiązany, bład polegał na złym podaniu źródła czyli " url: 'http://ebukmacher.net/ajax.php',"

Lecz chciałbym go nieco zmodyfikować:
1. Jeżeli chcemy zagłosować drugi raz, aby pojawiał się alert (do umieszenia tam przy odpowiednim komentarzu w ajax.php), że nie można głosować drugi raz. Pytanie moje jak ten alert tam umeijscowić.
2. Obecnie działa on na takiej zasadzie, że można zagłosować raz tam na ileś czasu na jednego bukmachera. Ja chciałbym aby można było zagłosować na wszytkich bukmacherów ale tylko po jednym razie.
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.