B
bad0man
Hallo,
ich möchte in einem Bewertungsscript eine Zeitsperre für einen gewissen Zeitraum einfügen um einen Missbrauch zu unterbinden.
Ja ich weiß das es nicht viel bringt und das der erfahrene Internetuser Möglichkeiten nutzen kann um in Sekundentackt eine Bewertung ab zu geben.
Ich habe eine Tabelle wo folgende Felder verfügbar sind.
Nun wollte ich eine weitere Tabelle hinzufügen wo die IP und ein Timestamp eingefügt werden mit einer Verknüpung zu der ID der Datei.
Dann die IP und den Timestamp mit INSERT einfügen aber vorher überprüfen ob die Zeit schon vergangen ist.
Wenn die Zeit vorrüber ist , die Zeit für die ip Adresse mit UPDATE erneuern lassen.
Nun weiß ich leider aber nicht wie ich das machen kann.
Ich hab in der letzten Woche soviel ausprobiert das ich davon schon schlecht Träume
Problem ist, das ich das ganze gekauft habe, da ich noch nicht viel Ahnung und Wissen dafür habe.
Das Bewertungsscript is auch ziehmlich kurz was die Übersicht sehr gut macht.
Ich werde hier mal den Code davon posten.
Die Komponente läuft unter Joomla und leider bekomme ich in dem Hersteller Forum keine Hilfe dazu, deshalb wähle ich nun diesen Weg.
Das ist der originale Code
Meine Frage ist nun was genau ich machen muss um das hin zu bekommen.
Ich hatte versucht die IP und den Timestamp in die Tabelle mit auf zu nehmen aber dann wird der Eintrag und die IP vom vorherigen Bewerten einfach überschrieben.
Ich hatte auch versucht für das Bewerten eine neue Tabelle zu nehmen und habe dort die Felder imgvotesum, imgvotes, und die IP und den Timestamp eingefügt aber dann wird das Ergebnis falsch berechnet und es wird nicht jede Bewertung eingetragen.
Ich habe im Internet ja nun auch schon viele Themen dazu gefunden und mir verschiedene Scripte dazu angeschaut aber ich habe es nicht selbständig hin bekommen.
Ich hoffe das man hier zusammen auf eine erfolgreiche Lösung kommen wird und bin für jede Hilfe dankbar.
grüße
ich möchte in einem Bewertungsscript eine Zeitsperre für einen gewissen Zeitraum einfügen um einen Missbrauch zu unterbinden.
Ja ich weiß das es nicht viel bringt und das der erfahrene Internetuser Möglichkeiten nutzen kann um in Sekundentackt eine Bewertung ab zu geben.
Ich habe eine Tabelle wo folgende Felder verfügbar sind.
Code:
id int(11) auto_increment
catid int(11)
imgtitle text
imgauthor varchar(255)
imgtext text
imgdate varchar(20)
imgcounter int(11)
imgvotes int(11)
imgvotesum int(11)
buylink varchar(255)
buyactive varchar(20)
otherlink varchar(255)
otheractive varchar(20)
published tinyint(1)
imgfilename varchar(50)
imgthumbname varchar(50)
ordering int(11)
checked_out int(11)
owner varchar(50)
approved int(1)
useruploaded int(1)
Nun wollte ich eine weitere Tabelle hinzufügen wo die IP und ein Timestamp eingefügt werden mit einer Verknüpung zu der ID der Datei.
Dann die IP und den Timestamp mit INSERT einfügen aber vorher überprüfen ob die Zeit schon vergangen ist.
Wenn die Zeit vorrüber ist , die Zeit für die ip Adresse mit UPDATE erneuern lassen.
Nun weiß ich leider aber nicht wie ich das machen kann.
Ich hab in der letzten Woche soviel ausprobiert das ich davon schon schlecht Träume
Problem ist, das ich das ganze gekauft habe, da ich noch nicht viel Ahnung und Wissen dafür habe.
Das Bewertungsscript is auch ziehmlich kurz was die Übersicht sehr gut macht.
Ich werde hier mal den Code davon posten.
Die Komponente läuft unter Joomla und leider bekomme ich in dem Hersteller Forum keine Hilfe dazu, deshalb wähle ich nun diesen Weg.
Das ist der originale Code
PHP:
# Don't allow direct linking
defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' );
// list of common inclusions:
include($mosConfig_live_site."/components/com_componente/language/english.php");
$id = mosGetParam($_REQUEST,'id');
$imgvote = mosGetParam($_REQUEST,'imgvote');
# Get old values from database
$database->setQuery("SELECT imgvotes, imgvotesum FROM #__tabelle WHERE id = '$id'");
$result1=$database->query();
list($imgvotes, $imgvotesum) = mysql_fetch_row($result1);
# Recalculate with the new vote
$imgvotes++;
$imgvotesum=$imgvotesum + $imgvote;
# Save new values
$database->setQuery( "UPDATE #__tabelle SET imgvotes='$imgvotes', imgvotesum='$imgvotesum' WHERE id=$id" );
$database->query();
# Get back to details page
echo "<SCRIPT> document.location.href='index.php?option=com_componente&Itemid=$Itemid&func=detail&id=$id';</SCRIPT>";
?>
Meine Frage ist nun was genau ich machen muss um das hin zu bekommen.
Ich hatte versucht die IP und den Timestamp in die Tabelle mit auf zu nehmen aber dann wird der Eintrag und die IP vom vorherigen Bewerten einfach überschrieben.
Ich hatte auch versucht für das Bewerten eine neue Tabelle zu nehmen und habe dort die Felder imgvotesum, imgvotes, und die IP und den Timestamp eingefügt aber dann wird das Ergebnis falsch berechnet und es wird nicht jede Bewertung eingetragen.
Ich habe im Internet ja nun auch schon viele Themen dazu gefunden und mir verschiedene Scripte dazu angeschaut aber ich habe es nicht selbständig hin bekommen.
Ich hoffe das man hier zusammen auf eine erfolgreiche Lösung kommen wird und bin für jede Hilfe dankbar.
grüße