Seraph
23.09.2006, 16:05:50
mam problem z ocenianiem danych przez userów, konkretnie to nie wiem co jak zrobić, żeby 1 użytkownik mógł np jeden art ocenić tylko raz, myślę, że to powinno być chyba cookies, ale jedyny pomysł jaki mi przychodzi to osobne do każdego arta, a wtedy byłyby niewyobrażalne ich ilości...
jak to się robi normalnie?
b0b3k
23.09.2006, 16:33:39
Jezeli glosowac mogą tylko zalogowani no to zrob tabele cms_glosy z id_autora + id_artykułu i dodawaj tam, przy glosowaniu sprawdzaj czy glos istnieje i ewentualnie oprozniaj te tabele raz na tydzien.
Jezeli powyzsze rozwiazanie nie jest dobre to sprobuj ciasteczka z setcookie art_$ID_artykułu i wartosc np. voted albo 1
HighVoltage
23.09.2006, 19:02:37
cookies, badz/i jeden glos na jedno ip
s_w_ir
23.09.2006, 20:48:01
Jedno IP odpada jak wiadomo bo większość ludzi ma dziś NEO z dynamic IP. Oczywiście COOKIES jeśli głosują wszyscy.
HighVoltage
23.09.2006, 21:06:06
Cytat(s_w_ir @ 23.09.2006, 21:48:01 )

Jedno IP odpada jak wiadomo bo większość ludzi ma dziś NEO z dynamic IP. Oczywiście COOKIES jeśli głosują wszyscy.
Co za roznica czy zresetuje sobie IP czy usune cookie z folderu? Zadna.
Polaczenie IP z Cookie jest chyba najlepszym rozwiazaniem, ale i tak nie daje 100% gwarancji.
slammer
23.09.2006, 21:13:40
ja zrobilbym na Twoim miejscu jakies proste logowanie z autologinem i dodawal do bazy danych lub pliku tekstowego odpowiednie informacje.
np.
art ktory juz zostal oceniony dodaje do bazy odpowiedni wpis powiedzmy ze jakis unikalny numer...
Cookies zawsze można usuwac lub je po prostu blokować, wiec uzytkownik bedzie mogl glosowac ile mu sie podoba.
envp
23.09.2006, 21:32:54
Doradzam, nie uzywac cookies beznadziejne rozwiazanie. Zasada jest taka - nigdy nie ufaj temu co idzie z przeglądarki. Pomysł z dodatkową bazą trzymajaca id artykolow i ide userow jest ok. Ja bym zrobił tak: do każdego usera dodal voted_arts_ids i wymienial po przeciku, potem sprawdzal, czy znajduje sie w bazie juz id artykulu i ewentulanie forwardowal na jkais error - jesli nie dodawal id do 'zalgosowanych' Pozdrawiam
NetJaro
23.09.2006, 21:50:03
A może autorowi tematu chodziło, że nie chce rejestracji (jak Bash.org.pl)..?
slammer
23.09.2006, 22:31:47
a może tak... w kazdym razie nie napisał tego

jak bez logowania to nie mam juz zadnego pomyslu bo zapisywanie do cookies to juz chyba ustalilismy ze raczej nie jest to dobry pomysł
s_w_ir
24.09.2006, 01:43:16
Cytat
Co za roznica czy zresetuje sobie IP czy usune cookie z folderu? Zadna.
Polaczenie IP z Cookie jest chyba najlepszym rozwiazaniem, ale i tak nie daje 100% gwarancji.
Możesz też przeinstalować system, i co? Tak samo stracisz to cookie. Jednak wiesz o tym Ty, ja mnóstwo koderów, ale nie wie o tym 80% userów internetu,a większość osób napewno też nie będzie na złość usuwać tego cookie. Na Twoje pytanie o IP odpowiedziałem już we wcześniejszym poście. WIększość osób ma dynamiczne IP i przy obecnej ilości userów internetu możliwość zdublowanie IP następnego dnia bardzo rośnie. Innymi słowy jednego dnia sobie ktoś zagłosuje a innego ktoś inny nie będzie mógł głosować bo się zdubluje. Era kiedy większość userów miała statyczne IP mineła, więc identyfikacja po IP nadaje się co najwyżej na następną godzine.
COOKIE to odpowiednik sesji, która jednak zostaje nie na serverze a u usera, i przeważnie dłużej przechowuje wartości. Jest to najlepsze rozwiązanie jeśli nie rejestrujemy userów.
Ile osób blokuje COOKIE? Z tego co czytałem ok 1,5%. Teraz pytanie ile osób wie jak zablokować COOKIE i wie po co to robi?
Uważam więc że osoby(większość) które blokują, wiedzą co robią i świadomie rezygnują ze sporej ilości usług opartych na COOKIE.
b0b3k
24.09.2006, 08:37:23
Jezeli blokują to wyswietlasz stosowny komunikat "aby moc glosowac wymagan jest wlaczanie cookie" a co do samego glosowania - to tylko artykuły wiec przechowywanie w cookie to nic strasznego, pozatym komu by sie chcialo usuwac cookie i sztucznie nabijać wyniki glosowania..
slammer
24.09.2006, 09:01:53
Cytat(b0b3k @ 24.09.2006, 07:37:23 )

pozatym komu by sie chcialo usuwac cookie i sztucznie nabijać wyniki glosowania..
Mi
hehe tak na poważnie to chyba rzeczywiscie macie racje. W tym wypadku bez autoryzacji cookie to jedyna opcja

Jednak z tego co wiem w standardzie jest max 20 cookie na jedną stronę więc jakoś będziesz musial sobie poradzić z gromadzeniem większej liczby informacji w 1 cookie. Może funkcją serialize() i unserialize()...
Seraph
24.09.2006, 16:14:55
Faktycznie chodziło mi głównie o możliwość głosowanie dla wszystkich - sory, że nie zaznaczyłem
główny problem, o który mi chodziło streścił slammer w ostatnim poście - limit cookies, bo nie sztuką jest zrobić do każdego osobne ciasteczko, tylko że przy większych ilościach będą się kasowały.... nie wiem jeszcze jak działają te funkcje serialize(), unserialize(), ale mam nadzieję, że uda mi się to jakoś sprawdzić.
:roll2:
NetJaro
24.09.2006, 16:28:35
Użyj funkcji serialize, unserialize - ew. Zapisuj jakoś gdzie głosowano, a do zapisu w ciasteczkach hash'uj, a potem odhash'uj by odczytać
ciano
24.09.2006, 18:51:03
Dołączę się do dyskusji z następującym pytaniem ...
Jak zapisywać id użytkowników, którzy głosowali?
a ) w tabeli z artykułami zrobić pole, w którym będzie ciąg id oddzielonych separatorem
b ) stworzyć osobną tabelę z id artykulu i id uzytkownika
Seraph
27.09.2006, 10:08:32
Ja osobiście gdybym chciał robićdla zarejestrowanych użytkowników, chyba skorzystałbym z osobnej tabeli, wydaje mi się, że to zwiększy czytelność...
b0b3k
27.09.2006, 11:04:15
Ja korzystam z osobnej tabeli i ajaxa - > nie pobieram od razu wszystkiego z jednej komorki np. glosy w tabeli uzytkownicy w formie 1:2:3:4 (id artykułów) bo to tylko obciaza serwer. Gdy ktos wcisnie np. Głos na tak ajax przesyla zapytanie do pliku z glosowaniem i wstawia rekord do tabeli głosów z id materiału i id uzytkownika, jezeli juz taki rekord istnieje no to wyswietlany jest stosowny komunikat, a np. raz na 2 tyg mozna oprozniac te tabele
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.