Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP & JavaScript] Problem z wyświetlaniem skyptu w różnych przeglądarkach
--Emil--
post
Post #1





Goście







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. ?>
Go to the top of the page
+Quote Post
--Emil--
post
Post #2





Goście







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.
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: 20.08.2025 - 08:10