Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> pomysł na mechanizm oceniania
jarmiar
post
Post #1





Grupa: Zarejestrowani
Postów: 616
Pomógł: 12
Dołączył: 16.07.2006
Skąd: : getCity ( );

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


witam,

nie mam pomysłu w jaki sposób wykonać ocenianie artykułów.
dodam, że piszę cmsa na plikach tekstowych i tworzenie artykułów ma się odbywać na zasadzie tworzenie pliku tekstowego -> zapis do pliku potrzebnych danych ->zapis do pliku z menu hiperłącza do tego artykułu.
mam tylko problem z tym ocenianiem artu.

może ma ktoś jakieś pomysły??


--------------------
Jeśli my czegoś nie zrobimy, zrobią to za nas inni
Go to the top of the page
+Quote Post
1010
post
Post #2





Grupa: Zarejestrowani
Postów: 749
Pomógł: 37
Dołączył: 3.10.2006

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


tworzysz plik w którym zapisujesz oceny użytkowników...


--------------------
Go to the top of the page
+Quote Post
Balon
post
Post #3





Grupa: Zarejestrowani
Postów: 422
Pomógł: 0
Dołączył: 14.12.2005
Skąd: Wałbrzych

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


Przykład:

ocena_art_36.txt
Kod
200|50

200 - suma głosów
50 - ilość głosów

Ten post edytował Balon 19.05.2007, 16:13:55


--------------------
Postura wielka i morda wredna, jestem Balon, kozak z osiedla !
bzdury.pl - Królestwo rozrywki
Go to the top of the page
+Quote Post
jarmiar
post
Post #4





Grupa: Zarejestrowani
Postów: 616
Pomógł: 12
Dołączył: 16.07.2006
Skąd: : getCity ( );

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


Cytat(Balon @ 19.05.2007, 17:13:29 ) *
Przykład:

ocena_art_36.txt
Kod
200|50

200 - suma głosów
50 - ilość głosów



a jak to teraz zaimplementować w skrypcie który tworzy pliki tekstowe i dopisuje to co kto chce?


--------------------
Jeśli my czegoś nie zrobimy, zrobią to za nas inni
Go to the top of the page
+Quote Post
Balon
post
Post #5





Grupa: Zarejestrowani
Postów: 422
Pomógł: 0
Dołączył: 14.12.2005
Skąd: Wałbrzych

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


To wykonujesz kiedy ktoś da ocenę:
  1. <?php
  2. // Ładujesz sobie plik z oceną do zmiennej $file
  3. $votes = explode( '|', $file );
  4. // i zapisujesz coś takiego do pliku z powrotem
  5. implode( '|', array( $votes[0]+$_POST['ocena'], $votes[1]++ ) );
  6. ?>


A jak chcesz wyświetlić głosy to:
  1. <?php
  2. // Ładujesz sobie plik z oceną do zmiennej $file
  3. $votes = explode( '|', $file );
  4. // średnia ocen
  5. echo $votes[0]/$votes[1];
  6. ?>


--------------------
Postura wielka i morda wredna, jestem Balon, kozak z osiedla !
bzdury.pl - Królestwo rozrywki
Go to the top of the page
+Quote Post
jarmiar
post
Post #6





Grupa: Zarejestrowani
Postów: 616
Pomógł: 12
Dołączył: 16.07.2006
Skąd: : getCity ( );

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


no ale to wiem jak zrobić gorzej tylko jak wykonać to, by skrypt wiedział, który artykuł ocenić?

np. wygeneruje mi się plik 65.php i mam w tym pliku wstawić formularz oceniania?

proszę mi to wyjaśnic


--------------------
Jeśli my czegoś nie zrobimy, zrobią to za nas inni
Go to the top of the page
+Quote Post
domis86
post
Post #7





Grupa: Zarejestrowani
Postów: 255
Pomógł: 5
Dołączył: 20.03.2007
Skąd: Kraków

Ostrzeżenie: (30%)
XX---


hmm to widze ze porwałeś się z motyką na słońce...
Nie lepiej było użyć mysql?

Na plikach tekstowych będzie to o wiele trudniejsze do zrobienia i nieskalowalne.
Np jak chcesz zrobić zapisywanie który uzytkownik już glosowal, zeby nie mozna bylo wiele razy glosowac na artykul?
Go to the top of the page
+Quote Post
jarmiar
post
Post #8





Grupa: Zarejestrowani
Postów: 616
Pomógł: 12
Dołączył: 16.07.2006
Skąd: : getCity ( );

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


wyslę mu ciastko


--------------------
Jeśli my czegoś nie zrobimy, zrobią to za nas inni
Go to the top of the page
+Quote Post
Balon
post
Post #9





Grupa: Zarejestrowani
Postów: 422
Pomógł: 0
Dołączył: 14.12.2005
Skąd: Wałbrzych

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


A jaki problem nazwać plik z głosami votes_article_31 gdzie 31 to id artykułu ?


--------------------
Postura wielka i morda wredna, jestem Balon, kozak z osiedla !
bzdury.pl - Królestwo rozrywki
Go to the top of the page
+Quote Post
domis86
post
Post #10





Grupa: Zarejestrowani
Postów: 255
Pomógł: 5
Dołączył: 20.03.2007
Skąd: Kraków

Ostrzeżenie: (30%)
XX---


Cytat(jarmiar @ 19.05.2007, 20:12:26 ) *
wyslę mu ciastko

a jak se skasuje ciastko ? smile.gif
Go to the top of the page
+Quote Post
jarmiar
post
Post #11





Grupa: Zarejestrowani
Postów: 616
Pomógł: 12
Dołączył: 16.07.2006
Skąd: : getCity ( );

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


Cytat(domis86 @ 19.05.2007, 22:26:11 ) *
a jak se skasuje ciastko ? smile.gif


nie wiem... może ban na IP?


--------------------
Jeśli my czegoś nie zrobimy, zrobią to za nas inni
Go to the top of the page
+Quote Post
Sedziwoj
post
Post #12





Grupa: Zarejestrowani
Postów: 793
Pomógł: 32
Dołączył: 23.11.2006
Skąd: Warszawa

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


domis86 nie można zabezpieczyć skrypt aby ktoś wielokrotnie nie zagłosował, bez logowania można użyć tylko ciasteczek, dlaczego? bo może wiele osób mieć to samo IP.
Można wprowadzić logowanie i głosowanie po zalogowaniu (rejestracja z potwierdzeniem adresu e-mail), ale wiadomo że można mieć tyle kont e-mail ile dusza zapragnie.
Co do skryptu, to jednak też bym polecał użycie bazy danych jak to możliwe. Jeśli nie to aby to było wydajne, no cóż bazy danych są też programem, ale chyba dobrym rozwiązaniem przy małej liczbie artykułów, jest stworzenie folderu z ocenami i tam pliki "<numer artykułu>.php" (czy dowolne rozszerzenie), bo wtedy wyszukanie odpowiedniej pozycji zwalamy na system plików.


--------------------
Algorytmy w PHP, czy ktoś o tym słyszał?
Dlaczego tak mało kobiet programuje? ponieważ nie zajmują się głupotami.
Go to the top of the page
+Quote Post
domis86
post
Post #13





Grupa: Zarejestrowani
Postów: 255
Pomógł: 5
Dołączył: 20.03.2007
Skąd: Kraków

Ostrzeżenie: (30%)
XX---


dobra kurde, jak się uparłeś na pliki aarambo.gif to nie kombinuj, tylko w plikach za[isuj zserializowane dane (wlasciwosci artykulu). Te dane mogą zawierać wszystko, co dotyczy danego artykulu - nawet tresc.

Czyli robisz pliki np:
article_[nr_artykulu].dat

i w nim sa zapisane dane dotyczace tego artykulu.
Np:

  1. <?php
  2. function load_article($nr)
  3. {
  4. $file_name = '/articles/article_'.$nr.'.dat';
  5. $data = file_get_contents($file_name);
  6. $data = unserialize($data);
  7. return $data;
  8. }
  9.  
  10. function save_article($nr, $data)
  11.  {
  12.  $file_name = '/articles/article_'.$nr.'.dat';
  13. $data = serialize($data);
  14.  file_put_contents($file_name, $data);
  15.  }
  16. ?>



i teraz przykladowe uzycie :

  1. <?php
  2. //robienie nowego artykulu
  3.  
  4. $nr = ...; //tu ustalasz numer nowego arta - np wczytujesz pliki z /articles/ i bierzesz najwiekszy_numer+1
  5.  
  6. $data = array();
  7. $data['title'] = 'Untitled';
  8. $data['content'] = 'Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Donec nisl purus, aliq
    uet vel, fermentum vulputate, pretium vitae, arcu. Morbi rhoncus.'
    ;
  9. $data['author_id'] = $id_autora;
  10. $data['votes_number'] = 0;
  11.  
  12. save_article($nr);
  13. ?>


  1. <?php
  2. //dodawanie glosu
  3. $data = load_article($nr);
  4. $data['votes_number'] += 1;
  5. save_article($nr);
  6. ?>



mozesz analogicznie zrobic edycje, itp.
Trzeba tez dopisac funkcje wczytujaca liste artykulow z katalogu /articles/, kasujacą artykuł itp
No i oczywiscie jakoś zadbać o nie blokowanie się dostepu do plikow - jak to zawsze przy pracy z plikami bywa. aarambo.gif

Ten post edytował domis86 20.05.2007, 12:22:41
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 Aktualny czas: 22.08.2025 - 09:21