Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] Problem z odświeżaniem w liczniku i ilośćią głosów
mis-pas
post 28.02.2007, 07:29:33
Post #1





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 28.02.2007

Ostrzeżenie: (0%)
-----


Siemka.Mam taki system dodawania filmików itd... i to jest plik (display.php) w którym wyswietla się filmik z określonym ID, komentarze oraz system oceniania! Wszystko jest OK tylko z tym systemem oceniania...

Oto plik display.php do ściągnięcia jako plik tekstowy, ponieważ całość kodu się tu nie zmieściła!

Kod
http://s003.wyslijto.pl/?file_id=05605872689844479844


To są zapytania do bazy mysql:
  1. --
  2. CREATE TABLE `oceny` (
  3. `id` int(11) NOT NULL AUTO_INCREMENT,
  4. `login` char(50) DEFAULT NULL,
  5. `stuff` int(11) DEFAULT NULL,
  6. `ocena` int(1) DEFAULT NULL,
  7. PRIMARY KEY (`id`)
  8. ) ENGINE=MyISAM AUTO_INCREMENT=7 DEFAULT CHARSET=latin2 AUTO_INCREMENT=7 ;


Problem jest w tym że jak chce zagłosować na filmik numer 1 na ocenę 5 to normalnie dodaje! Jednak gdy chce dodać ocene w innym filmiku (z innym ID) to mi wywala, że już oceniałem i że była to ocena 5/5! I taka sytuacja się powtarza z każdym kolejnym filmikiem!
Co trzeba zrobić żeby normalnie wszystko działało! Z góry dzięki za pomoc!

Ten post edytował mis-pas 2.03.2007, 11:39:47
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
k1ller
post 28.02.2007, 08:43:10
Post #2





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 20.02.2007
Skąd: Wroclaw

Ostrzeżenie: (0%)
-----


Mysle ze klopot jest tutaj:

  1. <?php
  2. $res2 = mysql_query('select * from `oceny` where `login`='' . $_SESSION['login'] . ''');
  3. ?>




Szukasz oceny dla uzytkownika, a jezeli ktos przed chwila zaglosowal to juz bedzie w tej bazie, dlatego musisz dodac warunek dla konkretnego filmu:



  1. <?php
  2. $res2 = mysql_query('select * from `oceny` where `login`='' . $_SESSION['login'] . '' and `stuff`='' . ((int) $_GET['id']) . ''');
  3. ?>


--------------------
-------------------------------------------
Racja jest jak dupa, kazdy ma swoja
Go to the top of the page
+Quote Post
arecki
post 28.02.2007, 17:52:26
Post #3





Grupa: Zarejestrowani
Postów: 222
Pomógł: 35
Dołączył: 6.02.2005

Ostrzeżenie: (0%)
-----


Zrób przechowywanie w sesji zmiennej o wartości true lub false w zależności od oddawania głosów i przez inkrementacją licznika sprawdzaj czy już przypadkiem nie zagłosował. Z tym że jak wyłączy przeglądarkę i włączy ją na nowo to znowu może głosować. W związku z tym wrzuć do bazy że dany klient o danej godzinie głosował + jakiś czas po którym może głosować i przed głosowaniem sprawdzaj te wartości. Bo możesz również zrobić to przez cacho ale gość sobie skasuje ciacho i 'dupa zbita' kiler smile.gif


--------------------
Go to the top of the page
+Quote Post
mis-pas
post 1.03.2007, 06:10:55
Post #4





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 28.02.2007

Ostrzeżenie: (0%)
-----


nie no super smile.gif teraz działa extra biggrin.gif A mam jeszcze jeden problem... przy wyświetlaniu jest licznik i on się co odświeżenie dodaje o 1.. jak zrobic zeby byl odporny na odswiezanie? I jeszcze jedno.. jaki kod wkleic pod tym systemem oceniania żeby byla ilosc oddanych glosow?

JEszcze raz z gory dzieki winksmiley.jpg
Go to the top of the page
+Quote Post
jezoo
post 1.03.2007, 11:50:45
Post #5





Grupa: Zarejestrowani
Postów: 92
Pomógł: 3
Dołączył: 4.04.2006

Ostrzeżenie: (0%)
-----


zastosuj sesje albo ciastko [cookies], czyli:
  1. <?php
  2. if(empty($_SESSION_['licznik']) || $_SESSION['licznik']==NULL) // lub !isset($_COOKIES['licznik']
  3.  $dodaj+=1;
  4. else
  5. echo $licznik;
  6. ?>


wybor nalezy do Cebie.
a ja mam pytanie, co do ciastek, jak zrobic zeby te ciastka byly na dysku i nie tracily wartosci im zadanej, dodam ze mam zrobione tak
  1. <?php
  2. setcookie("nazwa","wartosc",time()*3600);
  3. ?>

i jak jest przegaldarka otwarta to ciastko tez jest, ale jak zamkne i ponownie otwoze to juz nie maja wartosci i na nowo tworzy

Ten post edytował jezoo 1.03.2007, 11:52:04
Go to the top of the page
+Quote Post
mis-pas
post 1.03.2007, 16:36:24
Post #6





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 28.02.2007

Ostrzeżenie: (0%)
-----


OK! Ale jak ten pierwszy kod wdrążyć w ten cały kod co mam questionmark.gif niestety jestesm zielony w php sad.gif
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 24.07.2025 - 20:46