![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 0 Dołączył: 11.12.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam, w php jestem początkujący i nie znam wielu spraw. Poniższy problem już analizowałem jak sie tylko da i nic. Nie rozumiem gdzie jest błąd.
Chodzi o podwójne wykonanie skryptu. Dotyczy to komentarzy i np. głosowania. Na stronie A jest OBIEKT, który można skomentować i ocenić na + i -. Z bazy danych jest odczytywana odpowiednia wartość i wyświetlana. Głosowanie. Chcąc zagłosować np. na +. Klika się w link www.nazwa.pl/glosuj.php?id=12&akcja=plus Na stronie glosuj.php jest prosty skrypt, który ma tylko zwiększyć wartość o jeden, a czasem zwiększa o 2. Dlaczego? I to tylko zazwyczaj za pierwszym razem, bo dalej poruszając się po stronie, sytuacja się normalizuje i już działa poprawnie. Oto skrypt na stronie glosuj.php:
[/b]Nic prostszego, prawda? Więc dlaczego, gdy skrypt się wykonuje, to zamiast zwiększyć/zmniejszyć wartość w bazie danych o jeden, zmienia ją o dwie jednostki? Przy głosowaniu to tak źle nie wygląda, ale w systemie komentarzy już tak. Ponieważ dodaje mi dodatkowo jeden pusty komentarz, co już nie wygląda zbyt fajnie i estetycznie wizualnie... i go zlicza w bazie jako normalny. O co w tym chodzi? gdzie jest błąd? Przecież ze strony z OBIEKTEM przekazuję wartość id przypisująca obiekt w bazie, oraz akcje, która identyfikuje, co ma być zrobione, a pomimo prostoty, gdzieś jest zapętlenie i czasem skrypt wykonuje się podwójne?(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ? Dlaczego? Z góry będę wdzięczy za rozjaśnienie tej sprawy. Pozdrawiam Ten post edytował lordvanyuri 1.06.2009, 23:33:14 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 0 Dołączył: 11.12.2008 Ostrzeżenie: (0%) ![]() ![]() |
kkuba , dzięki , wkleiłem ten kod, osobiście jeszcze go nie rozumiem w pełni i dużo mi nie mówi, nie na tym etapie, wątpiłem, że będzie działał, ale działa , tylko wciąż, jeśli pierwszy raz klikam w plus, zwiększa mi o 2jednostki, a jeśłi klikam w minus zmniejsza o 2 jednostki, ale dalej już jest ok, działa o jedną, hmm.
Oto kod ze strony, na której są obiekty do oceny:
na stronie glosuj.php jest to co zaproponował kkuba i to co wcześniej zamieściłem - i wciąż przy pierwszym kliknięciu nalicza podwójnie. I jak to wygląda? pewnie zalatuje grafomanią. Ten post edytował lordvanyuri 1.06.2009, 23:34:01 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 12.10.2025 - 21:59 |