Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 9.01.2010 Skąd: Iłowa Ostrzeżenie: (0%)
|
Witam,
tworzę skrypt oceniania artykułów, w którym głosować mogą tylko raz zalogowani. Wszystko działa, można głosować, tylko nie mam pojęcia jak zrobić, by można było głosować tylko raz.
Coś w tym skrypcie jest nie tak? Proszę o odpowiedź. (IMG:style_emoticons/default/smile.gif) Ten post edytował Wojtek0Adam 19.08.2010, 20:21:48 |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 122 Pomógł: 0 Dołączył: 9.11.2008 Ostrzeżenie: (10%)
|
Zapodaj jeszcze tabelkę oceny.
|
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 0 Dołączył: 14.11.2008 Ostrzeżenie: (0%)
|
Za mało danych aby Ci pomóc. Przydałaby się tabelka 'oceny'i ewentualnie 'user'.
|
|
|
|
Post
#4
|
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 9.01.2010 Skąd: Iłowa Ostrzeżenie: (0%)
|
OK.
Tabelka oceny:
Tabelka user (pola najważniejsze):
|
|
|
|
Post
#5
|
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D |
O, żesz... a po co aż tak szaleć w zapytaniu (IMG:style_emoticons/default/winksmiley.jpg) Walnij po prostu czy w tabeli 'oceny' zapytanie o rekord gdzie id usera zgadza się z tym w sesji i jednocześnie id ankiety jest identyczne z tą, które właśnie user odwiedza lub próbuje submitować. Jeśli taki rekord istnieje, znaczy, że już głosował i nie ma prawa tego ponownie zrobić. A gdy odwiedzi stronę głosowania ponownie, nie ma się nawet prawa pojawić możliwość głosowania, czyli na stronie brak formularza głosowania, ale a to wyniki tej ankiety.
|
|
|
|
Post
#6
|
|
|
Grupa: Zarejestrowani Postów: 122 Pomógł: 0 Dołączył: 9.11.2008 Ostrzeżenie: (10%)
|
O, żesz... a po co aż tak szaleć w zapytaniu (IMG:style_emoticons/default/winksmiley.jpg) Walnij po prostu czy w tabeli 'oceny' zapytanie o rekord gdzie id usera zgadza się z tym w sesji i jednocześnie id ankiety jest identyczne z tą, które właśnie user odwiedza lub próbuje submitować. ID ankiety jest pewnie automatycznie +1 w mysql (IMG:style_emoticons/default/winksmiley.jpg)
Ten post edytował vegeta 20.08.2010, 11:32:04 |
|
|
|
Post
#7
|
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 9.01.2010 Skąd: Iłowa Ostrzeżenie: (0%)
|
Chyba sobie jakoś poradziłem.
Nie wiedziałem jak inaczej zrobić (IMG:style_emoticons/default/winksmiley.jpg) |
|
|
|
Post
#8
|
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D |
A może po prostu policz ile tych rekordów? Albo count w zapytaniu, albo po odebraniu wyników (IMG:style_emoticons/default/smile.gif) W wyniku 0 - nie głosował. Jeśli 1 - głosował (IMG:style_emoticons/default/smile.gif)
|
|
|
|
Post
#9
|
|
|
Grupa: Zarejestrowani Postów: 380 Pomógł: 59 Dołączył: 24.04.2010 Skąd: London Ostrzeżenie: (0%)
|
a może do tabeli ankiety dodaj kolumnę users i przy każdym artukule zapisuj w niej ID userów (jako tablice) którzy już głosowali później sprawdzaj czy przy danym artykule w zapisanej tablicy jest ID aktualnie zalogowanego usera jak nie to pozwól zagłosować.
Ten post edytował lord2105 20.08.2010, 13:03:52 |
|
|
|
Post
#10
|
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D |
Wyobrażasz sobie zapis i edycje takiej informacji lord? Odczytać id, unserialize tablicy, sprawdzenie, jeśli nie był a zagłosował to dodanie, ponowna serializacja, zapis. Brrrr... (IMG:style_emoticons/default/smile.gif) O wiele wygodniejsza tabela łącząca.
|
|
|
|
![]() ![]() |
|
Aktualny czas: 20.12.2025 - 23:02 |