![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 34 Pomógł: 0 Dołączył: 19.10.2008 Ostrzeżenie: (0%) ![]() ![]() |
Znowu mam problem ze skryptem do glosowania, po kliknieciu na ocene nic sie nie dzieje:
Mysle ze w petli jest blad, moglby ktos pomoc naprawic? Skrypt na stronie: http://www.muzycznalista.yoyo.pl/
|
|
|
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Skoro juz uzywasz die(mysql_error()) to uzywaj tego wszedzie....
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 34 Pomógł: 0 Dołączył: 19.10.2008 Ostrzeżenie: (0%) ![]() ![]() |
Zmienilem ale nadal nie dziala, oceny sie sie zmieniaja.
|
|
|
![]()
Post
#4
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Błąd też się nie pojawia?
A teraz co się pojawia:
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 34 Pomógł: 0 Dołączył: 19.10.2008 Ostrzeżenie: (0%) ![]() ![]() |
Blad sie nie pojawia, i te echo tez nie.
Jak sie kliknie to : juchu.... myslmy troche:UPDATE vote SET total = total+4, votes = votes+1 WHERE id = 21Widac mnie? |
|
|
![]()
Post
#6
|
|
Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
Nie odpowiem Ci na pytanie ale zasugeruję pewne zabezpieczenie. Co zrobi wejście pod ten link?
http://www.muzycznalista.yoyo.pl/index.php...oted=5&id=1 Doda 5 punktów do utworu 1, tak? Tak (przynajmniej takie jest założenie). Co natomiast zrobi taki link? http://www.muzycznalista.yoyo.pl/index.php...=99999&id=1 Nabije głosy. Pomijam już fakt podatności na SQL Injection (zaprzyjaźnij się z mysql_escape_string), jednak wypadałoby sprawdzać co użytkownik "klika". |
|
|
![]()
Post
#7
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat Jak sie kliknie to : juchu.... myslmy troche:UPDATE vote SET total = total+4, votes = votes+1 WHERE id = 21Widac mnie? No i ok. Zapytanie nie zwraca bledów. Patrzyles czy dane w bazie się zmienily?
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 34 Pomógł: 0 Dołączył: 19.10.2008 Ostrzeżenie: (0%) ![]() ![]() |
Nic sie nie zmienia.
|
|
|
![]()
Post
#9
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Hmmm.... pokaż cały kod po zmianach jakie zrobiłeś.
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 34 Pomógł: 0 Dołączył: 19.10.2008 Ostrzeżenie: (0%) ![]() ![]() |
Kiedys dzialal ten skrypt ale nie wiem kiedy i nie wiem co zmienilem ze przestal dzialac. Jeszcze dodam to co w mysql:
Nikt na tym forum nie wie co jest zle w tym skrypcie?(IMG:style_emoticons/default/questionmark.gif) (IMG:style_emoticons/default/questionmark.gif) (IMG:style_emoticons/default/questionmark.gif) Dobra mam wiem (IMG:style_emoticons/default/biggrin.gif) Przy każdym rekordzie mialem zaznaczone null, wystarczy wszedzie je odhaczyc. Jak to zrobic automatycznie zeby z kolumn votes i total automatycznie odchaczylo null? |
|
|
![]()
Post
#11
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat Przy każdym rekordzie mialem zaznaczone null Hehe (IMG:style_emoticons/default/smile.gif)
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 706 Pomógł: 108 Dołączył: 12.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Ustaw polom total i votes atrybut not null.
Zwróć też uwagę na post phpiona - poruszył ważną kwestię. Na chwilę obecną twój skrypt jest rajem dla psotników (IMG:style_emoticons/default/smile.gif) |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 34 Pomógł: 0 Dołączył: 19.10.2008 Ostrzeżenie: (0%) ![]() ![]() |
Thx
No racja, bez problemu da sie wpisac ocene 9999 ci mija sie z celem. Jak zmienic ten kod przy użyciu funkcji mysql_escape_string?
|
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 706 Pomógł: 108 Dołączył: 12.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Samo mysql_escape_string tutaj wiele nie pomoże. Musisz przefiltrować te dane. Podpowiem ci jak to zrobić, ale tym razem nie chce mi się dawać gotowego kodu (IMG:style_emoticons/default/tongue.gif)
Musisz zrobić zmienną, która będzie określała czy ocenianie może się odbyć. Może to być np. domyślnie pusta zmienna z komunikatem. Nic nie stoi na przeszkodzie, by przechwytywała ona również błąd wynikający z obecności pliku cookie, wtedy system zacznie nabierać kształtu. Podpowiem jednak dokładnie jak można elegancko napisać filtr dla zmiennej $_GET['voted'] (najlepiej to zmień jej nazwę np. na rating, bo voted jest mało intuicyjna).
To jest bezpieczna filtracja, bo jeśli zmienna z $_GET będzie zawierała nieprawidłową wartość, zmienna $voted w ogóle nie będzie istniała i nigdy omyłkowo jej nie użyjesz. |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 34 Pomógł: 0 Dołączył: 19.10.2008 Ostrzeżenie: (0%) ![]() ![]() |
Ale to nie pomoglo, nadal mozna wpisywac znaki 999999 itd.
Jak napisac ze wartosc "voted" nalezy do naturalnych mniejszych od 6 ? |
|
|
![]()
Post
#16
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat Ale to nie pomoglo, Bo pewnie źle to wstawiles. Pokaz kod po tej "wstawce"
|
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 34 Pomógł: 0 Dołączył: 19.10.2008 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#18
|
|
Grupa: Zarejestrowani Postów: 706 Pomógł: 108 Dołączył: 12.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Trudno żeby działało, skoro jest w ogóle w złej części. Ten switch ma być w sekcji, która jest wykonywana podczas głosowania, a nie podczas wyświetlania danych. Próbuj dalej (IMG:style_emoticons/default/smile.gif)
|
|
|
![]()
Post
#19
|
|
Grupa: Zarejestrowani Postów: 34 Pomógł: 0 Dołączył: 19.10.2008 Ostrzeżenie: (0%) ![]() ![]() |
No wiec wydaje mi sie ze ten dziala ^^:
Czy jest odporny na sql injection?
|
|
|
![]()
Post
#20
|
|
Grupa: Zarejestrowani Postów: 706 Pomógł: 108 Dołączył: 12.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Jeszcze nie. Pozostała zmienna ID. Możesz zamieniać ją na liczbę, dzięki czemu nikt nie wpisze złośliwego kodu.
Czyli zamiast tego:
To: I spróbuj zrobić obsługę błędów z tą zmienną $error. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 24.08.2025 - 10:33 |