Natürlich ist sowas möglich. Ich liefer erstmal einen Lösungsansatz. Poste falls Du quelltextnähere Hilfe brauchst.
Zuerst mußt Du dem User ermöglichen über ein Formular den Artikel zu bewerten. Z.B. mit einem Radiobutton oder einem Dropdownlistenfeld.
im Antwortscript öffenst Du zuerst die "Bewertungsdatei" des Artikels. Z.B. [nr].txt
In der Datei sollte drin stehen, viele Sternchen der Artikel hat und wieviele User schon gevotet haben (letztes ist nötig um herauszufinden, wieviel Einfluß die neue Bewertung auf das Gesamtergebniss hat.
Dann teilst Du die Anzahl der vom Besucher gevoteten Sternchen durch die Anzahl der Stimmen. (ich nenne das Ergebniss jetzt mal $erg)
Wenn die Anzahl der Sternchen die der Besucher vergeben hat größer ist als die vorhandenen Sternchen zählst Du $erg zu den vorhanden Sternchen dazu, ansonsten ziehst Du's ab.
Jetzt das Ganze mathematischer:
v = Anzahl der Besucher die diesen Artikel bewertet haben.
x = Anzahl der Sternchen die der Besucher vergeben hat.
z = Anzahl der Sternchen die der Artikel schon hat.
t = x / v
Wenn
v > z dann z = z + t
sonst
z = z - t
Ich hoffe mein Ansatz ist trotz der Theorie verständlich (und logisch richtig ;-) )
edit:
Da fällt mir ein da ist noch ein Fehler drin. Bei jedem abstimmen mußt nicht die "Anzahl der Besucher" sondern die "Anzahl der Besucher + 1" verwenden. Sonst erhälst Du beim ersten besucher eine Divison durch null und die Stimme des Zweiten hätte soviel Gewicht wie wenn keiner gevotet hätte usw.
Außerdem mußt Du hinterher natürlich wieder alles in die Datei speichern, aber das war ja sowieso klar