![]() | |||||||||||||||||||||||||||
Navigation • Home
| Bewertungssystem für Bilder in der Galerie verstehen
Fünf kleine Sterne unter einem Foto, daneben „4,4 bei 27 Stimmen“: So sieht ein Bewertungssystem für Bilder meistens aus. Hinter dem Klick steckt eine Rechnung mit Tücken: Ein Bild mit zwei begeisterten Stimmen landet schnell vor einem, das fünfzig Menschen gut fanden. Hier lesen Sie, wie Sie fair rechnen, Mehrfachstimmen bremsen und was das Nachrüsten im Bildergalerie-Script verlangt.
So rechnet ein Bewertungssystem für BilderJeder Klick auf einen Stern wird auf dem Server zu einer Zeile in einer Datenbanktabelle: Bildnummer, vergebener Wert, Zeitpunkt und eine Kennung des Besuchers. Die Zahl neben dem Foto ist der Durchschnitt dieser Zeilen. Hat ein Bild 15 Stimmen mit fünf Sternen, 8 mit vier und 4 mit drei, sind das 75 + 32 + 12 = 119 Sterne. Geteilt durch 27 Stimmen ergibt das 4,41, angezeigt als 4,4. Zeigen Sie neben dem Wert immer die Zahl der Stimmen, denn „4,4“ allein verrät nicht, ob drei Freunde oder dreihundert Fremde abgestimmt haben. Weil jede Stimme eine eigene Zeile ist, rechnet sich der Wert nach dem Löschen von Testklicks einfach neu. Warum wenige Stimmen täuschenNehmen wir eine Galerie, in der ein typisches Bild rund zehn Stimmen hat und eine Stimme im Schnitt 3,8 Sterne vergibt. Foto A hat zwei Stimmen mit je fünf Sternen, also 5,0. Foto B steht mit 48 Stimmen und 221 Sternen bei 4,6, Foto C mit 20 Stimmen und 86 Sternen bei 4,3. Vorn liegt Foto A, obwohl dort vielleicht nur der Fotograf und seine Schwester geklickt haben. Fairer ist der gewichtete Durchschnitt, oft Bayes-Durchschnitt genannt. Dabei rechnen Sie jedem Bild so viele gedachte Stimmen hinzu, wie ein typisches Bild hat, hier also zehn, jede mit dem Galerieschnitt von 3,8. Foto A kommt so auf (10 × 3,8 + 10) ÷ 12 = 4,0, Foto B auf (38 + 221) ÷ 58 = 4,5 und Foto C auf (38 + 86) ÷ 30 = 4,1. Bei Foto A stellen die gedachten Stimmen 10 von 12, bei Foto B nur 10 von 58. Im Diagramm sehen Sie oben, wie sich die Reihenfolge umdreht, und unten, wie viel Gewicht die gedachten Stimmen bei jedem Foto haben. Die Zahl der gedachten Stimmen ist Ihre Stellschraube. Entspricht sie der Stimmenzahl eines typischen Bildes, überwiegt der eigene Wert eines Fotos erst, wenn es mindestens so viel Zuspruch hat wie die meisten anderen. Sammeln die Bilder mit der Zeit mehr Stimmen, erhöhen Sie die Zahl. Sterne, Daumen oder Herz?Welche Form der Abstimmung passt, hängt davon ab, was Sie aus den Ergebnissen lernen wollen:
In einer Galerie, die vor allem Freunde und Familie besuchen, ist das Herz meist die ehrlichere Wahl: Niemand möchte dem Hochzeitsfoto der Cousine zwei Sterne geben. Einen Durchschnitt gibt es dann nicht, die Rangliste zählt einfach die Herzen. Mehrfachstimmen und DatenschutzSollen Besucher ohne Anmeldung abstimmen, muss der Server selbst erkennen, wer schon abgestimmt hat. Dafür gibt es zwei gängige Sperren, und jede hat für sich eine Lücke:
Deshalb arbeiten beide zusammen: Das Cookie fängt den versehentlichen zweiten Klick ab. Ein Skript dagegen verwirft jedes Cookie und holt sich vor jeder Stimme ein neues, sodass nur noch die Obergrenze je IP-Adresse greift. Fünf Stimmen je Bild und Tag reichen für eine vierköpfige Familie samt Gast am selben Router und stoppen ein Skript nach der fünften Stimme. Eine Anmeldepflicht lohnt sich erst bei einem Wettbewerb mit Preis. Beide Sperren gehören mit Zweck und Speicherdauer in die Datenschutzerklärung. Ein Cookie, das nur vermerkt, dass dieser Browser abgestimmt hat, dient einer Funktion, die der Besucher selbst auslöst. Nach verbreiteter Auslegung von § 25 TDDDG braucht es dafür keine Einwilligung im Cookie-Banner. Im Beispielcode weiter unten gilt das Cookie 365 Tage, die IP-Adresse wird nach sieben Tagen gelöscht. Gefragte Fotos ohne Sterne erkennenDas Bildergalerie-Script bringt kein Bewertungssystem für Bilder mit. Um zu sehen, welche Fotos ankommen, und die besten nach vorn zu holen, reicht oft, was es hat:
Abrufzahlen einzelner Bilder sind nur ein Anhaltspunkt, weil die Lightbox das vorige und das nächste Foto gleich mitlädt. Mehr dazu in Statistik der Galerie auswerten und Zähler für Bildaufrufe. Sterne im Bildergalerie-Script nachrüstenWer trotzdem Sterne möchte, muss sie selbst programmieren. Ein Plugin-System gibt es nicht, und die Vorlage
Die Datei Wer PHP und JavaScript sicher beherrscht, braucht dafür etwa einen Arbeitstag. Der Haken liegt bei Updates: Laut Anleitung überschreiben Sie dabei alle Dateien, also müssen Sie Ihre Änderungen an Für Entwickler: Tabelle und gewichtete Bestenliste (SQL)IP-Spalte (45 Zeichen, genug für IPv6) und Index
Ein täglicher Cronjob leert die Adressen nach sieben Tagen: Die Bestenliste rechnet mit zehn gedachten Stimmen und lässt über die Verknüpfung mit
Bei Herz oder Daumen hoch speichert jede Stimme den Wert 1, und die Rangliste sortiert nach Für Entwickler: Schritt 3, bewertung.php (PHP)Die Zugangsdaten
Die 60 je Stunde verhindern, dass ein Skript alle Bilder der Reihe nach bewertet. Bei einem Wettbewerb im Firmen- oder Schulnetz setzen Sie die Grenze je Bild höher. Wer Schwerpunkte vorerst über Reihenfolge und eigene Kategorien setzt, kann das Bildergalerie-Script kostenlos herunterladen und Sterne später ergänzen. Häufige FragenDiese Fragen kommen zu Sternen in der eigenen Galerie fast immer auf. Ab wie vielen Stimmen ist der Durchschnitt aussagekräftig?Eine feste Grenze gibt es nicht. Mit Gewichtung dürfen Sie den Wert früh zeigen, weil sie Ausreißer bremst. Ohne Gewichtung ist es fairer, unter fünf Stimmen „noch zu wenige Stimmen“ statt einer Zahl anzuzeigen und Bilder erst ab etwa einem Dutzend Stimmen in eine Bestenliste aufzunehmen. Wie entferne ich Stimmen, die nicht zählen sollen?Über die Spalten Bringt das Bildergalerie-Script Sterne mit?Nein, weder Sterne noch Kommentare noch Besucherkonten. Eine Abstimmung lässt sich wie oben beschrieben nachrüsten, die geänderten Dateien müssen aber nach jedem Update neu eingespielt werden. Verwandte ThemenKommentare und ihr Schutz vor Spam fehlen dem Script ebenso wie Sterne. Diese Seiten behandeln sie und das Zählen von Aufrufen: | ||||||||||||||||||||||||||