Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Skrypt oceniania
Wojtek0Adam
post
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.
  1. $stmt = $pdo -> query('SELECT * FROM `user`, `oceny` WHERE `id_art` = \''.(int)$_GET['id'].'\'');
  2. foreach ($stmt as $row)
  3. {
  4. if ($row['id_dod'] == $_SESSION['user_id'])
  5. {
  6. echo 'Już głosowałeś!';
  7. }
  8. else {
  9. /* kod dodawania */
  10. }
  11. }

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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
thek
post
Post #2





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.
Go to the top of the page
+Quote Post
vegeta
post
Post #3





Grupa: Zarejestrowani
Postów: 122
Pomógł: 0
Dołączył: 9.11.2008

Ostrzeżenie: (10%)
X----


Cytat(thek @ 20.08.2010, 00:04:18 ) *
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)

  1. $stmt2 = $pdo -> query('SELECT * FROM `oceny` WHERE `id_pio` = \''.(int)$_GET['id'].'\' AND `id_dod` = \''.(int)$_SESSION['user_id'].'\'');
  2. if (isset($stmt2))
  3. {
  4. echo 'Już głosowałeś!';
  5. }


Ten post edytował vegeta 20.08.2010, 11:32:04
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 4.10.2025 - 03:51