![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 345 Pomógł: 3 Dołączył: 31.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
Chcę sprawdzić czy dany użytkownik zagłosował już na dane zdjęcie.
Do zmiennej votecheck pobieram głos(vote) przypisany do konkretnego użytkownika(voter) oraz id zdjęcia(photoid). Instrukcja IF ma sprawdzać czy votecheck jest pusta tzn. czy wpis z danym głosem istnieje w bazie. Jeśli nie, to go doda. Jednak gdzieś tutaj zatrzymuje mi się kod. Próbowałem użyć isset, !$ oraz ==null natomiast nic nie skutkuje. Vardump nie pokazuje mi nic kompletnie, chyba że wywalę dopisek ['vote'] albo mysqlfetchassoc, wtedy pokazuje mi null ale wtedy też coś jest nie halo bo można głosować bez końca. Mógłby mi ktoś podpowiedzieć jaki tu jest problem? Siedzę już chyba z 16 godzin przy tym dzisiaj idę spać i mam nadzieję, że rano mnie oświeci ![]() p.s. wiem ,że to jest podatne na injection ![]()
Dla bardziej wnikliwych tutaj jest cały skrypt:
Ten post edytował Terrorizer 14.12.2014, 03:17:05 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 95 Pomógł: 15 Dołączył: 3.06.2010 Ostrzeżenie: (0%) ![]() ![]() |
Spróbuj w ten sposób:
zamień
na
-------------------- Nie bój się kliknąć
![]() |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 345 Pomógł: 3 Dołączył: 31.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
To co mi pokazałeś faktycznie jest rozsądniejsze, jednak vardump nie pokazuje nic, podczas gdy wpis nie istnieje.
Dopiero gdy dodam wpis, pokazuje INT(1) Zrobiłem warunek który wydaje mi się pewniejszy:
Jednak gdy tego wpisu nie ma, to ten IF jakby nie przechodzi wcale ![]() Ten post edytował Terrorizer 14.12.2014, 09:47:57 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 95 Pomógł: 15 Dołączył: 3.06.2010 Ostrzeżenie: (0%) ![]() ![]() |
To co mi pokazałeś faktycznie jest rozsądniejsze, jednak vardump nie pokazuje nic, podczas gdy wpis nie istnieje. Dopiero gdy dodam wpis, pokazuje INT(1) Zrobiłem warunek który wydaje mi się pewniejszy:
Jednak gdy tego wpisu nie ma, to ta pętla jakby nie przechodzi wcale ![]() Nie dziw się, że vardump Ci nic nie pokazuje, jeśli nie ma czego pokazać. O której pętli mówisz, że nie przechodzi? Do tego warunek sprawdzający, czy liczba głosów różni się od jedynki jest trochę niebezpieczny, bo w razie, jeśli zdubluje Ci zapytanie z głosem to dana osoba będzie mogła głosować w nieskończoność. -------------------- Nie bój się kliknąć
![]() |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 345 Pomógł: 3 Dołączył: 31.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
Często błędnie nazyam instrukcję IF pętlą
![]() Rzecz w tym, że wciąż ten IF nie chce działać. Jeśli go skasuję, to instrukcje normalnie się wykonują, więc kod się zatrzymuje na samym IF |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 95 Pomógł: 15 Dołączył: 3.06.2010 Ostrzeżenie: (0%) ![]() ![]() |
Może niepotrzebnie pytam, ale najpewniej wcześniej oddałeś głos, więc IF może blokować Ci wykonanie poleceń zawartych w nim, bo masz już ten rekord w bazie danych?
![]() -------------------- Nie bój się kliknąć
![]() |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 345 Pomógł: 3 Dołączył: 31.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
Skasowałem wszystkie rekordy i cały czas obserwuję bazę danych.
Ciągle kombinuję, jednak coś mi to nie wychodzi. Robię coraz dziwniejsze rzeczy ![]()
Teraz mam tak i też nie działa chociaż uważam, że powinno:
Ten post edytował Terrorizer 14.12.2014, 10:35:10 |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 95 Pomógł: 15 Dołączył: 3.06.2010 Ostrzeżenie: (0%) ![]() ![]() |
Nie mam pojęcia w czym jest błąd, spróbuj tak.
-------------------- Nie bój się kliknąć
![]() |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 345 Pomógł: 3 Dołączył: 31.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 95 Pomógł: 15 Dołączył: 3.06.2010 Ostrzeżenie: (0%) ![]() ![]() |
Jeśli nawet ten if Ci nie działa to nie wiem, co począć.
-------------------- Nie bój się kliknąć
![]() |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 345 Pomógł: 3 Dołączył: 31.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
MAM!!!!!!!!!!!!!!!!!!!!!!!
mysql_num_row zwraca false zamiast zera, ja próbowałem sprawdzić warunkiem czy zmienna równa się false i nie wychodziło, bo OR DIE zatrzymywał działanie skryptu ![]() 20 godzin walki, a jaka radość ![]() Ten post edytował Terrorizer 14.12.2014, 11:20:56 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 11:52 |