Bilder-Voting / Fotos bewerten
-
- Beiträge: 847
- Registriert: Mi 14. Dez 2005, 16:15
- Wohnort: Königs Wusterhausen bei Berlin
- Kontaktdaten:
Bilder-Voting / Fotos bewerten
Hallo Community,
die Frage wurde vor längerer Zeit schon mal gestellt und ich wollte fragen ob jemand dafür eine Idee hat.
Es geht um das voten / bewerten von Bildern. Man könnte natürlich für jedes Bild einen Artikel anlegen und das mit dem Bewertungsmodul dann realisieren aber schöner wäre es, wenn man mit Hilfe einer Bildergalerie einem Bild eine "Stimme" geben kann. Eine IP-Sperre wäre natürlich von Vorteil! Es geht eigentlich nur um das Zählen der Klicks auf einem Bild (bzw. würde ich auf ein Bild ein Vote-Icon platzieren). Hätte da jemand eine Idee oder ein Tipp für mich?
Vielen Dank
MfG Steffen
die Frage wurde vor längerer Zeit schon mal gestellt und ich wollte fragen ob jemand dafür eine Idee hat.
Es geht um das voten / bewerten von Bildern. Man könnte natürlich für jedes Bild einen Artikel anlegen und das mit dem Bewertungsmodul dann realisieren aber schöner wäre es, wenn man mit Hilfe einer Bildergalerie einem Bild eine "Stimme" geben kann. Eine IP-Sperre wäre natürlich von Vorteil! Es geht eigentlich nur um das Zählen der Klicks auf einem Bild (bzw. würde ich auf ein Bild ein Vote-Icon platzieren). Hätte da jemand eine Idee oder ein Tipp für mich?
Vielen Dank
MfG Steffen
Re: Bilder-Voting / Fotos bewerten
Hallo Steffen,
ich würde das (evtl. per Ajax übermittelt) über das Feld "Interne Bemerkung" in der Dateiverwaltung machen.
Dazu muss die Galerie dieses Feld auslesen, den darin gespeicherten Wert (als Integer) um eins erhöhen, und den neuen Wert speichern.
Das Auslesen hab ich schonmal gemacht, das findest du in mein Modul eCards (daraus werden die individuellen Einstellungen gelesen), aber das Speichern noch nicht (sollte aber auch kein Problem sein).
Gruß
René
ich würde das (evtl. per Ajax übermittelt) über das Feld "Interne Bemerkung" in der Dateiverwaltung machen.
Dazu muss die Galerie dieses Feld auslesen, den darin gespeicherten Wert (als Integer) um eins erhöhen, und den neuen Wert speichern.
Das Auslesen hab ich schonmal gemacht, das findest du in mein Modul eCards (daraus werden die individuellen Einstellungen gelesen), aber das Speichern noch nicht (sollte aber auch kein Problem sein).
Gruß
René
-
- Beiträge: 847
- Registriert: Mi 14. Dez 2005, 16:15
- Wohnort: Königs Wusterhausen bei Berlin
- Kontaktdaten:
Re: Bilder-Voting / Fotos bewerten
Hallo René,
könnte man denn die Anzahl der Klicks dann auch ausgeben? Also. z.B. zum Ende des Votings, dass man die Klicks/Zahlen auf den Fotos sieht ... eigentlich doch ja, oder?! Ist ja in der DB dann schon drinn.
Wäre denn eine IP-Speere für 24h ebenfalls möglich (eventuell zusätzlich mit Cookie-Sperre).
Ich habe hier schon einen sehr guten Ansatz gefunden, wo ich glaube dass man das in einer Contenido-Bildergalerie mit einabauen könnte. Einfach den Dislike-Button weglassen und mit einer IP-Sperre zusätzlich ausstatten und man hätte eine externe Lösung. Oder man kombiniert das mit deinem Ansatz.
Vielen Dank
könnte man denn die Anzahl der Klicks dann auch ausgeben? Also. z.B. zum Ende des Votings, dass man die Klicks/Zahlen auf den Fotos sieht ... eigentlich doch ja, oder?! Ist ja in der DB dann schon drinn.
Wäre denn eine IP-Speere für 24h ebenfalls möglich (eventuell zusätzlich mit Cookie-Sperre).
Ich habe hier schon einen sehr guten Ansatz gefunden, wo ich glaube dass man das in einer Contenido-Bildergalerie mit einabauen könnte. Einfach den Dislike-Button weglassen und mit einer IP-Sperre zusätzlich ausstatten und man hätte eine externe Lösung. Oder man kombiniert das mit deinem Ansatz.
Vielen Dank
Re: Bilder-Voting / Fotos bewerten
Hallo Steffen,
die Klicks mit auszugeben sollte einfach sein, denn man kann sie in dem Galeriemodul mit auslesen.
Eine IP-Sperre könnte schwieriger werden, denn dafür musst du zu jedem Bild pro Klick die IP-Adresse und Uhrzeit speichern, um sie dann beim Klick zuerst abzugleichen.
Möglich wäre das schon, aber dafür brauchst du dann eine externe (Text-)Datei oder optimalerweise eine separate Datenbanktabelle (3 Spalten für Bilddateipfad, IP-Adresse und Datum/Uhrzeit).
Gruß
René
die Klicks mit auszugeben sollte einfach sein, denn man kann sie in dem Galeriemodul mit auslesen.
Eine IP-Sperre könnte schwieriger werden, denn dafür musst du zu jedem Bild pro Klick die IP-Adresse und Uhrzeit speichern, um sie dann beim Klick zuerst abzugleichen.
Möglich wäre das schon, aber dafür brauchst du dann eine externe (Text-)Datei oder optimalerweise eine separate Datenbanktabelle (3 Spalten für Bilddateipfad, IP-Adresse und Datum/Uhrzeit).
Gruß
René
Re: Bilder-Voting / Fotos bewerten
Hallo zusammen,
gebe ich René Recht. Ich habe so eine Bewertung einmal - vor recht langer Zeit - selbst einmal umgesetzt. Auch mit IP-Sperre, Blacklist und was auch immer in eigenen DB-Tabellen. Fazit: Solange kein Captcha oder ähnliches dazwischen geschaltet wird: vergiss es. Ein Blocken der IP hilft auch nur wenig, weil es in der Regel nur eine mehrfache Bewertung eines Bildes verhindert. Ein Bot springt Dir die ganze Galerie durch und klickert munter drauf los. Letztlich müsstest Du dann auch später alle Botklicks die in der Blacklist gelandet sind aus den insgesamt abgegebenenen Bewertungen herausfiltern um eine korrekte "menschliche" Bewertung zu erhalten.
Die Schwierigkeit bei der Blacklist ist: Wie willst Du feststellen, ob bei der ersten Bewertung/ dem ersten Auftauchen der IP ein Bot am Werke ist? Gut, ein Hinweis könnte die Bewertung zu nachtschlafener Zeit um 3:14 Uhr in der Früh sein, wenn Deine Seitenbesucher lt. Piwik und Co. dann praktisch nie auf Deiner Seite sind. Auch die Anzahl der Bewertungen innerhalb einer bestimmten Zeitspanne liefert einen Hinweis - kein Mensch bewertet in 30 Sekunden 30 Bilder (und wenn, dann wäre das auch gleichzusetzen mit Spamvoting). Das ist aber alles wie der nasse Daumen im Wind. Und selbst wenn Du eine "böse" IP erwischst, dann kommt sie auf die Blacklist. Beim nächsten Besuch des Bots hat er eine andere Adresse und das Spiel geht von vorne los.
Fazit: Ohne Captcha oder ähnliches kannst Du korrekte, nur durch Menschen veranlasste Bewertungen vergessen.
Gruß,
Markus
gebe ich René Recht. Ich habe so eine Bewertung einmal - vor recht langer Zeit - selbst einmal umgesetzt. Auch mit IP-Sperre, Blacklist und was auch immer in eigenen DB-Tabellen. Fazit: Solange kein Captcha oder ähnliches dazwischen geschaltet wird: vergiss es. Ein Blocken der IP hilft auch nur wenig, weil es in der Regel nur eine mehrfache Bewertung eines Bildes verhindert. Ein Bot springt Dir die ganze Galerie durch und klickert munter drauf los. Letztlich müsstest Du dann auch später alle Botklicks die in der Blacklist gelandet sind aus den insgesamt abgegebenenen Bewertungen herausfiltern um eine korrekte "menschliche" Bewertung zu erhalten.
Die Schwierigkeit bei der Blacklist ist: Wie willst Du feststellen, ob bei der ersten Bewertung/ dem ersten Auftauchen der IP ein Bot am Werke ist? Gut, ein Hinweis könnte die Bewertung zu nachtschlafener Zeit um 3:14 Uhr in der Früh sein, wenn Deine Seitenbesucher lt. Piwik und Co. dann praktisch nie auf Deiner Seite sind. Auch die Anzahl der Bewertungen innerhalb einer bestimmten Zeitspanne liefert einen Hinweis - kein Mensch bewertet in 30 Sekunden 30 Bilder (und wenn, dann wäre das auch gleichzusetzen mit Spamvoting). Das ist aber alles wie der nasse Daumen im Wind. Und selbst wenn Du eine "böse" IP erwischst, dann kommt sie auf die Blacklist. Beim nächsten Besuch des Bots hat er eine andere Adresse und das Spiel geht von vorne los.
Fazit: Ohne Captcha oder ähnliches kannst Du korrekte, nur durch Menschen veranlasste Bewertungen vergessen.
Gruß,
Markus
seamless-design.de
"Geht nicht!" wohnt in der "Will nicht!"-Strasse.
Das Handbuch zur Version 4.10: CONTENIDO für Einsteiger (4.10)
Das Handbuch zur Version 4.9: CONTENIDO für Einsteiger (4.9)
"Geht nicht!" wohnt in der "Will nicht!"-Strasse.
Das Handbuch zur Version 4.10: CONTENIDO für Einsteiger (4.10)
Das Handbuch zur Version 4.9: CONTENIDO für Einsteiger (4.9)
-
- Beiträge: 4254
- Registriert: Do 30. Jun 2005, 22:56
- Wohnort: Eltmann, Unterfranken, Bayern
- Kontaktdaten:
Re: Bilder-Voting / Fotos bewerten
Ein Bilder-Voting hab ich als fertiges Modul, falls du sowas brauchst, und wenn ich es schaffe, dann kann ich ja am Wochenende mal eine Demo aufsetzen.derSteffen hat geschrieben:Hätte da jemand eine Idee oder ein Tipp für mich?
Gruß aus Franken
Ortwin
ConLite 2.1, alternatives und stabiles Update von Contenido 4.8.x unter PHP 7.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
-
- Beiträge: 847
- Registriert: Mi 14. Dez 2005, 16:15
- Wohnort: Königs Wusterhausen bei Berlin
- Kontaktdaten:
Re: Bilder-Voting / Fotos bewerten
VIelen Dank für alle Hinweise und Antworten. Ich bin am Thema dran!
@ oldperl ... dieses Angebot ist natürlich verlockend. Ich würde natürlich gerne einen Blick auf die Demo werfen, wenn es Dir keine Umstände macht
MfG Steffen
@ oldperl ... dieses Angebot ist natürlich verlockend. Ich würde natürlich gerne einen Blick auf die Demo werfen, wenn es Dir keine Umstände macht
MfG Steffen
-
- Beiträge: 4254
- Registriert: Do 30. Jun 2005, 22:56
- Wohnort: Eltmann, Unterfranken, Bayern
- Kontaktdaten:
Re: Bilder-Voting / Fotos bewerten
@derSteffen ... Umstände macht es schon, aber die mach ich mir gern
Ich hab aber beim Nachschaun gesehen das es sich um Module und Plugin handelt für ein Bilder-Voting mit Anmeldung der Teilnehmer per Frontend-Formular und Voting in einer Galerie. Falls ich trotz Grippe am Wochenende dazu komme dann richt ich das mal ein, meld mich wieder.
Gruß aus Franken
Ortwin
Ich hab aber beim Nachschaun gesehen das es sich um Module und Plugin handelt für ein Bilder-Voting mit Anmeldung der Teilnehmer per Frontend-Formular und Voting in einer Galerie. Falls ich trotz Grippe am Wochenende dazu komme dann richt ich das mal ein, meld mich wieder.
Gruß aus Franken
Ortwin
ConLite 2.1, alternatives und stabiles Update von Contenido 4.8.x unter PHP 7.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
Re: Bilder-Voting / Fotos bewerten
Damit wäre dann auch das Thema "Spam" mehr oder weniger abgefrühstückt, allerdings mit dem Nachteil, dass ein "nur mal vorbei schneiender" Besucher vermutlich kein Voting abgeben wird.Bilder-Voting mit Anmeldung der Teilnehmer per Frontend-Formular
Gute Besserung Ortwin!
seamless-design.de
"Geht nicht!" wohnt in der "Will nicht!"-Strasse.
Das Handbuch zur Version 4.10: CONTENIDO für Einsteiger (4.10)
Das Handbuch zur Version 4.9: CONTENIDO für Einsteiger (4.9)
"Geht nicht!" wohnt in der "Will nicht!"-Strasse.
Das Handbuch zur Version 4.10: CONTENIDO für Einsteiger (4.10)
Das Handbuch zur Version 4.9: CONTENIDO für Einsteiger (4.9)
-
- Beiträge: 847
- Registriert: Mi 14. Dez 2005, 16:15
- Wohnort: Königs Wusterhausen bei Berlin
- Kontaktdaten:
Re: Bilder-Voting / Fotos bewerten
Hallo Ihr beiden,
@Oldperl ... eine Registrierung sollte eigentlich erst gar nicht erfolgen. Du könntest mir ja auch per Mail oder PN schreiben, was dass Bilder-Voting kosten würde (ohne Änderungen)
Danke Dir
Gute Besserung weiterhin!
MfG Stefefn
@Oldperl ... eine Registrierung sollte eigentlich erst gar nicht erfolgen. Du könntest mir ja auch per Mail oder PN schreiben, was dass Bilder-Voting kosten würde (ohne Änderungen)
Danke Dir
Gute Besserung weiterhin!
MfG Stefefn
-
- Beiträge: 847
- Registriert: Mi 14. Dez 2005, 16:15
- Wohnort: Königs Wusterhausen bei Berlin
- Kontaktdaten:
Re: Bilder-Voting / Fotos bewerten
Ich habe, bzw. bin jetzt dabei mein Bildervoting zu erstellen.
Das Klappt auf Cookie-Basis auch schon ganz gut, da ich mich diesem Script bedient habe (http://www.phpkobo.com/ajax_likes.php).
Mit diesem Code generiere ich jedes Bild
Nun möchte ich das aber um eine IP-Sperre erweitern, wobei nicht die seite gesperrt werden soll, sondern für 24h das Bild (man kann also mehre Bilder voten, aber ein und das selbe Bild nur einmal).
Also benötige ich eine SQL-Tabelle wo die Ip gespeichert wird, den Timestamp und die Bild-ID.
bei mir ist die Bild-Id = der Bildname ohne Dateiendung.
Das ist meine MySQL-Tabelle:
Aber jetzt weiß ich gar nicht weiter!
A. Wie ich die daten in die Tabelle bekomme
B. Wie ich Ip und Img-Id abfrage und vergleiche
C. was überhaupt passieren soll, wenn Ip und Bild-Ip bereits in der Tabelle sind -> wahrscheinlich den Vote-Button am besten ausblenden!
Könnte mir jemand mit einem Code-Schnipsel einen kleinen oder großen Anstoss geben.
Nachtrag:
Diese beiden Funktionen (gefunden hier: http://tutorials.designnation.de/worksh ... re-Version) helfen mir die Ip zu speichern und abzufragen.
Hier eine Beispielabfrage:
Klappt auch wunderbar, jetzt weiß ich aber nicht, wie ich die IP nur speichere wenn ich auf den Button klicke! Denn mit speichert er mir das für alle Bilder automatisch, ohne auf einen Button zu klicken! Und vor allem speichert er all Bilder und alle IPs. Ich will aber, dass er immer nur pro Klick auf ein Bild und die IP, Imagname, und Zeit abspeichert und nicht gernerell für alle 45 bilder.
Hat noch jemand dafür eine Lösung?!
Vielen Dank
MfG Steffen
Das Klappt auf Cookie-Basis auch schon ganz gut, da ich mich diesem Script bedient habe (http://www.phpkobo.com/ajax_likes.php).
Mit diesem Code generiere ich jedes Bild
Code: Alles auswählen
// Manipulation/Ausgabe für die Webseite
echo '<div class="ld-container" tid="'.$imgname.'" action="voting/ajax_likes.php">';
echo '<a href="'.$img2 .'"><img src="$imgb .'" width="'. $imgcropwidth .'" height="'. $imgcropheight .'" /></a>';
echo '<button type="button" class="ld-btn-like" title="I like it"><img class="ld-img-like" src="images/thumbs-up-ss.png"></button> <span class="ld-stats-txt"></span>';
echo '</div>';
Also benötige ich eine SQL-Tabelle wo die Ip gespeichert wird, den Timestamp und die Bild-ID.
bei mir ist die Bild-Id = der Bildname ohne Dateiendung.
Das ist meine MySQL-Tabelle:
Code: Alles auswählen
CREATE TABLE `con_imagevoting` (
`ip` varchar(20) NOT NULL default '',
`time` int(15) NOT NULL default '0',
`imagenameid` varchar(30) NOT NULL default ''
) TYPE=MyISAM;
A. Wie ich die daten in die Tabelle bekomme
B. Wie ich Ip und Img-Id abfrage und vergleiche
C. was überhaupt passieren soll, wenn Ip und Bild-Ip bereits in der Tabelle sind -> wahrscheinlich den Vote-Button am besten ausblenden!
Könnte mir jemand mit einem Code-Schnipsel einen kleinen oder großen Anstoss geben.
Nachtrag:
Diese beiden Funktionen (gefunden hier: http://tutorials.designnation.de/worksh ... re-Version) helfen mir die Ip zu speichern und abzufragen.
Code: Alles auswählen
<?php
function check_ip ($ip,$sek,$type,$die) {
if($ip && $sek && $type) { // Nur fortsetzen wenn alle benötigten Parameter angegeben sind
$ips = array(); // Ein leeres Array erstellen
$sql = "SELECT ip FROM con_imagevoting WHERE time > '".( time() - $sek )."' AND imagenameid = '".$type."'"; // Die SQL Abfrage
$result = mysql_query($sql); // SQL Abfrage in Array Packen
while($row = mysql_fetch_assoc($result)) { // Einzeln "Bearbeiten"
array_push($ips,trim($row['ip'])); // Jede IP in das vohon erstellte Array einfügen
}
if(in_array($ip,$ips)) { // Wenn IP Gesperrt
if($die && $die != false) { // Falls der Parameter $die gesetzt ist und er nich false ist
die("<b>Deine IP (".$ip.") ist gesperrt!</b>"); // Beendet das Script
} else { // Fals nicht
return true; // Gib true aus (für eine IF abfrage)
}
} else { // IP Nicht Gesperrt
return false; // Gib false aus (für eine IF abfrage)
}
} else { // Nicht alle benötigten Parameter vorhanden
return false; // Gib false aus (für eine IF abfrage)
}
}
function add_ip ($ip,$type) {
if($ip && $type) { // Nur fortsetzen wenn alle Parameter angegeben sind
// $insert = mysql_query("INSERT INTO con_imagevoting ( ip , time , imagenameid ) VALUES ( '".$ip."' , '".time()."' , '".substr($type,0,10)."' )");
$insert = mysql_query("INSERT INTO con_imagevoting ( ip , time , imagenameid ) VALUES ( '".$ip."' , '".time()."' , '".$type."' )");
if($insert) { // Wenn erfolgreich eingefügt wurde
return true; // Gib true aus (für eine IF abfrage)
} else {
return false; // Gib false aus (für eine IF abfrage)
}
} else {
return false; // Gib false aus (für eine IF abfrage)
}
}
?>
Code: Alles auswählen
if(check_ip($_SERVER['REMOTE_ADDR'],"3600","$imgname",false)) {
echo "Deine IP Ist gesperrt";
//oder andere Befehle
} else {
echo "Du darfst hier verweilen";
//oder andere Befehle
}
Code: Alles auswählen
add_ip($_SERVER['REMOTE_ADDR'],"$imgname");
Code: Alles auswählen
echo '<form class="ld-container" tid="'.$imgname.'" action="voting/ajax_likes.php" method="post">';
echo '<a href="'.$img2 .'"><img src="'. $imgb .'" /></a>';
echo '<button type="button" class="ld-btn-like" title="I like it" name="'.$imgname.'"><img class="ld-img-like" src="images/thumbs-up-ss.png"></button> <span class="ld-stats-txt"></span>';
add_ip($_SERVER['REMOTE_ADDR'],"$imgname");
clear_ip();
echo '</form>';
$z++;
Vielen Dank
MfG Steffen