![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 55 Pomógł: 0 Dołączył: 18.02.2009 Ostrzeżenie: (0%) ![]() ![]() |
Więc tak zrobiłem taki mały system głosowania: ktos wchodzi na link ktory dostał w emailu i wtedy dodaje się głos do kolumny licznik. Wszystko by było ok gdyby nie to że przy odswiezeniu dodaje się następny głos co się troche mija z celem:P
Dodałem więc kolumne user_activated default 0. Chodzi mi o to że musze napisac małą funkcje if ze jezeli user_activated == 0 to executuje skrypt a jak 1 to jest die ![]() ![]()
Ten post edytował Manifested01 28.02.2009, 11:11:50 |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 4 069 Pomógł: 497 Dołączył: 11.05.2007 Skąd: Warszawa ![]() |
user_activated = 0
szukasz usera który ma jeszzce zapisane 0 tak więc przy num_rows dostaniesz 1 ;] a u ciebie wtedy leci block zamiast programu, daj odwrotnie. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 55 Pomógł: 0 Dołączył: 18.02.2009 Ostrzeżenie: (0%) ![]() ![]() |
Nie jestem pewny ale jednak bede chyba obstawiał przy swoim:
to nie jest szukanie tylko test jeśli user ma 0 (default) to znaczy ze pierwszy raz wchodzi na tą strone i dodaje się +1 do licznika i jego pole user_activated sie updatuje do 1 a jesli ma już 1 to poprostu ma się wyświetlić "Już aktywowałeś swój głos" |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 1 012 Pomógł: 109 Dołączył: 26.09.2003 Skąd: nexis.pl Ostrzeżenie: (0%) ![]() ![]() |
Zrobiłbym to na dwóch tabelach o następującej budowie:
Kod ++++++++++++++++++++++++ + invitation + ++++++++++++++++++++++++ + email + vARCHAR(128) + + code + VARCHAR(32) + ++++++++++++++++++++++++ ++++++++++++++++++++++++ + vote + ++++++++++++++++++++++++ + email + VARCHAR(128) + ++++++++++++++++++++++++ oraz poniższym kodzie:
-------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 55 Pomógł: 0 Dołączył: 18.02.2009 Ostrzeżenie: (0%) ![]() ![]() |
dzięki nexis ale moja strona juz funkcjonuje i przenoszenie rekordów i generalnie struktury tabel kosztowało by mnie za dużo pracy
wolałbym więc edytować ten mój kod mysle ze to kwestia } albo jakiegos glupie błędu |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 353 Pomógł: 50 Dołączył: 28.07.2005 Skąd: Łaziska Górne Ostrzeżenie: (0%) ![]() ![]() |
funkcja mysql_num_rows() zwraca Ci ilość pobranych rekordów a nie wartość pola user_activated.
Jeśli chcesz użyć tej funkcji to musisz dodać w zapytaniu SQL warunek WHERE user_activated=1 lub jeśli chcesz zostawić takie zapytanie odczytać wartość zwróconego rekordu funkcjami mysql_fetch_ -------------------- Sposób na życie? Uśmiech na twarzy :D
"Widzę więcej, wiem więcej, tak to jest mniej więcej" "NIE kradnij, rząd nielubi konkurencji" |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 55 Pomógł: 0 Dołączył: 18.02.2009 Ostrzeżenie: (0%) ![]() ![]() |
czyli teraz ma byc tak ze jezeli result = 1
to die a jak nie to executuje reszte skryptu
i błąd Parse error: syntax error, unexpected $end in /home/users/sobolczyk_moja/www/w/activatevote.php on line 70 Ten post edytował Manifested01 28.02.2009, 13:41:22 |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 353 Pomógł: 50 Dołączył: 28.07.2005 Skąd: Łaziska Górne Ostrzeżenie: (0%) ![]() ![]() |
Brakuje Ci jednego nawiasu }
mysql_fetch_array zwróci Ci tablicę array( 0 => wartość, 'user_activated' => wartość) więc nie wystarczy porównać wyniku zwróconego przez tą funkcje, musisz jeszcze odwołać się do któregoś z elementów zwróconej tablicy. Ten post edytował PanGuzol 28.02.2009, 13:55:48 -------------------- Sposób na życie? Uśmiech na twarzy :D
"Widzę więcej, wiem więcej, tak to jest mniej więcej" "NIE kradnij, rząd nielubi konkurencji" |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 55 Pomógł: 0 Dołączył: 18.02.2009 Ostrzeżenie: (0%) ![]() ![]() |
nie mam pojecia co z tym zrobic przeczytalem o mysql fetch array ale nic mi to nie dało...
teraz po odswieżeniu sie dodaje kolejny głos... |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 353 Pomógł: 50 Dołączył: 28.07.2005 Skąd: Łaziska Górne Ostrzeżenie: (0%) ![]() ![]() |
lub
-------------------- Sposób na życie? Uśmiech na twarzy :D
"Widzę więcej, wiem więcej, tak to jest mniej więcej" "NIE kradnij, rząd nielubi konkurencji" |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 55 Pomógł: 0 Dołączył: 18.02.2009 Ostrzeżenie: (0%) ![]() ![]() |
dzięki bardzo już działa
![]() ale teraz mam jeszcze jeden problem: w tej funkcji chodzi o to że jesli email był już dodany do bazy to nie mozna oddac głosu w ogóle a ja bym chciał zrobić cos takiego że email moze sie powtarzać ale do róznych głosowań czyli powinno być cośtakiego czyli email: cos@o2.pl id:7 email: cos@o2.pl id:7 takie cos 2 razy nie moze byc ale np email: cos@o2.pl id:7 email: cos@o2.pl id:3 takie coś moze byc where emailglos='$_POST[emailglos]' and idglos='$_POST[id]'
|
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 353 Pomógł: 50 Dołączył: 28.07.2005 Skąd: Łaziska Górne Ostrzeżenie: (0%) ![]() ![]() |
Podałeś dobry warunek ale w kodzie go nie zastosowałeś, użyłeś tylko jednego warunku z dwóch.
PS: poczytaj sobie o SQL Injection -------------------- Sposób na życie? Uśmiech na twarzy :D
"Widzę więcej, wiem więcej, tak to jest mniej więcej" "NIE kradnij, rząd nielubi konkurencji" |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 55 Pomógł: 0 Dołączył: 18.02.2009 Ostrzeżenie: (0%) ![]() ![]() |
heh no ok ale możesz mi powiedzieć jak w takim razie użyć drugiego ?
i czy zrobiłem jakis konkretny kod z sql injection? |
|
|
![]()
Post
#14
|
|
![]() Grupa: Zarejestrowani Postów: 353 Pomógł: 50 Dołączył: 28.07.2005 Skąd: Łaziska Górne Ostrzeżenie: (0%) ![]() ![]() |
Dokładnie tak jak napisałeś
Wrzucasz do zapytania wartości przesłane przez użytkownika bez sprawdzenia ich, czyli twój kod jest podatny na atak SQL Injection. -------------------- Sposób na życie? Uśmiech na twarzy :D
"Widzę więcej, wiem więcej, tak to jest mniej więcej" "NIE kradnij, rząd nielubi konkurencji" |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 55 Pomógł: 0 Dołączył: 18.02.2009 Ostrzeżenie: (0%) ![]() ![]() |
ok a skoro to jest dział Przedszole
możesz mi powiedzieć jak je "sprawdzić" ? |
|
|
![]()
Post
#16
|
|
![]() Newsman Grupa: Moderatorzy Postów: 4 005 Pomógł: 548 Dołączył: 7.04.2008 Skąd: Trzebinia/Kraków ![]() |
filtracja danych mysql_real_escape_string
-------------------- |
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 55 Pomógł: 0 Dołączył: 18.02.2009 Ostrzeżenie: (0%) ![]() ![]() |
dobra przeczytałem ten artykul w manualu ale nie umiem zaadaptować tego w moim skrypcie
probowalem pare razy wszystko konczylo sie błędami ale nie bede pokazywal kodu bo na 120% zrobilem cos maksymalnie głupiego więc jesli ktos byłby tak miły i mi to zedytował to bede umiał na przyszłosc i na pewno ktos z tego skorzysta jeszcze... |
|
|
![]()
Post
#18
|
|
![]() Newsman Grupa: Moderatorzy Postów: 4 005 Pomógł: 548 Dołączył: 7.04.2008 Skąd: Trzebinia/Kraków ![]() |
w tych wszystkich miejscach pobierasz coś z tablicy super globalnej GET. filtruj tak (jest to mój sposób).
-------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 04:43 |