Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][AJAX] Niedziałające ocenianie
Forum PHP.pl > Forum > Przedszkole
Lolek13
Witam, stworzylem sobie system oceniania tresci na podstawie tutorialu z jednej strony. Niestety kod zupelnie nie reaguje na naciskanie klawiszy.

  1. <img id="gora" src="images/kciuk_w_gore.png" alt="+" width="14" height="14" /> <!-- id="gora" -->
  2. <?php
  3. mysql_connect('host', 'user', 'pass') or die ("Błąd: NIE MOŻNA POŁĄCZYĆ SIĘ Z BAZĄ DANYCH.");
  4. mysql_select_db("baza") or die ("Błąd: NIE MOŻNA NAZWIĄZAĆ POŁĄCZENIA Z BAZĄ DANYCH.");
  5. $rat = mysql_query("SELECT * FROM glowna WHERE ID=" . $wynik['ID'] . ";");
  6. if($res = mysql_fetch_assoc($rat)) {
  7. print '<span id="ile"> '.($res['Punkty']).'</span> '; // id="ile"
  8. }
  9. ?>
  10. <img id="dol" src="images/kciuk_w_dol.png" alt="-" width="14" height="14" /> <!-- id="dol" -->
  11. <script>
  12. $(document).ready(function() {
  13. $("#gora").unbind().bind("click", function() {
  14. $.ajax({
  15. type: 'POST',
  16. url: 'glos2.php?ID='<?=$wynik['ID']?>,
  17. data: 'akcja=dodaj',
  18. success: function(wynik) {
  19. $("#ile").html(wynik)
  20. }
  21. });
  22. return false;
  23. });
  24. $("#dol").unbind().bind("click", function() {
  25. $.ajax({
  26. type: 'POST',
  27. url: 'glos2.php?ID=<?=$wynik['ID']?>',
  28. data: 'akcja=odejmij',
  29. success: function(wynik) {
  30. $("#ile").html(wynik)
  31. }
  32. });
  33. });
  34. return false;
  35. }); </script>


i plik glos2.php

  1. <?php
  2. mysql_connect('host', 'user', 'pass');
  3. $increase = "UPDATE glowna SET Punkty=Punkty+1 WHERE ID=".$_GET['ID'];
  4. $decrease = "UPDATE glowna SET Punkty=Punkty-1 WHERE ID=".$_GET['ID'];
  5. $active_rate = mysql_query("SELECT * FROM glowna WHERE ID=".$_GET['ID']);
  6. $how = 0;
  7. if($rt = mysql_fetch_assoc($active_rate)) {
  8. $how = $rt['ocena'];
  9. }
  10. if($_POST['akcja'] == 'dodaj') {
  11. mysql_query($increase);
  12. print $how++;
  13. } elseif($_POST['akcja'] == 'odejmij') {
  14. mysql_query($decrease);
  15. print $how--;
  16. }
  17. ?>


szukam blędu juz drugi dzien i nie potrzefię go odnalezc ; / ma ktos jakis pomysl ? pewnie bład jest banalny ...
nospor
Po czym wnioskujesz, ze nie reaguje na naciskanie klawiszy? Przez dwa dni siedzenia nad tym zapewne masz niezbite na to dowody?
Lolek13
Cytat
Po czym wnioskujesz, ze nie reaguje na naciskanie klawiszy?


Chyba najrozsadniejszą odpowiedzia na to pytanie jest to, ze po nacisnieciu klawisza nic sie nie dzieje ?
nospor
Nie, to nie jest rozsądna odpowiedź. Rozsądna odpowiedź by była taka:
Kod
$("#gora").unbind().bind("click", function() {

alert('WIDZISZ TEN TEKST?? ZNACZY ZE REAGUJE NA WCISNIECIE KLAWISZA A NIE DZIALA AJAX. A TO DWIE ROZNE RZECZY. RZEZ DWA DNI SIEDZENIE NAD SKRYPTEM MOZNA BY TE PROSTĄ SPRAWĘ STWIERDZIC');
  $.ajax({

   type: 'POST',

   url: 'glos2.php?ID='<?=$wynik['ID']?>,

   data: 'akcja=dodaj',

   success: function(wynik) {

    $("#ile").html(wynik)

   }

  });

  return false;

});

Uzupełnij swoj kod o moją drobną poprawką i wówczas stwiedzimy czy reaguje na wciskanie klawisza czy nie.
Lolek13
niestety alert nie pojawia sie
nospor
Hm.... na pewno? A w wersji skróconej:
alert('test');
też nie?

A w jeszcze bardziej skróconej, czyli bez ajaxa:
Kod
$("#gora").unbind().bind("click", function() {

  alert('test');

  return false;

});

też nie?
Jeśli nadal się nie pojawia to teraz można z całą stanowczością stwierdzić, że nie reaguje na klikanie wink.gif

Masz Firefox? Zainstaluj dodatek FIREBUG. Co pokazuje konsola błędów FIrebug?

ps: a już w ogóle najlepiej by było jakbyś to gdzieś wystawił online. Wówczas analiza będzie o niebo szybsza.
Lolek13
Cytat
$("#gora").unbind().bind("click", function() {

alert('test');

return false;

});


w tej wersji sie odzywa ; )

czy bład nie lezy gdzies w podanym przeze mnie url ?
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.