hallo zusammen,
ich habe ein kleines bewertungsscript, das ohne SQL auskommt und die daten in einer datei sammelt und auswertet. jetzt habe ich mehrere sachen, die ich gerne bewerten lassen möchte. beispiel:
seite a: bewerte den text
seite b: bewerte die xyz-datei
seite c: bewerte abc
usw.
das script hat eine ip-sperre. anhand des namens für die berwertung wird eine datei erstellt. nun bewerte ich z. b. seite a. das klappt. dann geh ich direkt auf seite b und will auch bewerten, aber es geht auf grund der ip-sperre nicht mehr. muss ich jetzt für jedes ein extra script einstellen?
hier die bewertungsseite:
$rater_id=1;
$rater_item_name=‚Index‘;
include(„rater.php“);
?>
$rater_id=2;
$rater_item_name=‚Galerie‘;
include(„rater.php“);
?>
usw.
hier das script:
// User settings
$rater_ip_voting_restriction = true; // restrict ip address voting (true or false)
$rater_ip_vote_qty=1; // how many times an ip address can vote
$rater_already_rated_msg=„Du hast schon „.$rater_ip_vote_qty.“ vote(s) abgegeben.“;
$rater_not_selected_msg=„You have not selected a rating value.“;
$rater_thankyou_msg=„Thankyou for voting.“;
$rater_generic_text=„this item“; // generic item text
$rater_end_of_line_char="\n"; // may want to change for different operating systems
if(!isset($rater_id)) $rater_id=1;
if(!isset($rater_item_name)) $rater_item_name=$rater_generic_text;
// DO NOT MODIFY BELOW THIS LINE
$rater_filename=‚item_‘.$rater_id.".rating";
$rater_rating=0;
$rater_stars="";
$rater_stars_txt="";
$rater_rating=0;
$rater_votes=0;
$rater_msg="";
// Rating action
if(isset($_REQUEST[„rate“.$rater_id])){
if(isset($_REQUEST[„rating_“.$rater_id])){
while(list($key,$val)=each($_REQUEST[„rating_“.$rater_id])){
$rater_rating=$val;
}
$rater_ip = getenv(„REMOTE_ADDR“);
$rater_file=fopen($rater_filename,„a+“);
$rater_str="";
$rater_str = rtrim(fread($rater_file, 1024*8),$rater_end_of_line_char);
if($rater_str!=""){
if($rater_ip_voting_restriction){
$rater_data=explode($rater_end_of_line_char,$rater_str);
$rater_ip_vote_count=0;
foreach($rater_data as $d){
$rater_tmp=explode("|",$d);
$rater_oldip=str_replace($rater_end_of_line_char,"",$rater_tmp[1]);
if($rater_ip==$rater_oldip){
$rater_ip_vote_count++;
}
}
if($rater_ip_vote_count > ($rater_ip_vote_qty - 1)){
$rater_msg=$rater_already_rated_msg;
}else{
fwrite($rater_file,$rater_rating."|".$rater_ip.$rater_end_of_line_char);
$rater_msg=$rater_thankyou_msg;
}
}else{
fwrite($rater_file,$rater_rating."|".$rater_ip.$rater_end_of_line_char);
$rater_msg=$rater_thankyou_msg;
}
}else{
fwrite($rater_file,$rater_rating."|".$rater_ip.$rater_end_of_line_char);
$rater_msg=$rater_thankyou_msg;
}
fclose($rater_file);
}else{
$rater_msg=$rater_not_selected_msg;
}
}
// Get current rating
if(is_file($rater_filename)){
$rater_file=fopen($rater_filename,„r“);
$rater_str="";
$rater_str = fread($rater_file, 1024*8);
if($rater_str!=""){
$rater_data=explode($rater_end_of_line_char,$rater_str);
$rater_votes=count($rater_data)-1;
$rater_sum=0;
foreach($rater_data as $d){
$d=explode("|",$d);
$rater_sum+=$d[0];
}
$rater_rating=number_format(($rater_sum/$rater_votes), 2, ‚.‘, ‚‘);
}
fclose($rater_file);
}else{
$rater_file=fopen($rater_filename,„w“);
fclose($rater_file);
}
// Assign star image
if ($rater_rating = 0.5){$rater_stars = „./img/05star.gif“;$rater_stars_txt=„0.5“;}
if ($rater_rating >= 1 ){$rater_stars = „./img/1star.gif“;$rater_stars_txt=„1“;}
if ($rater_rating >= 1.5){$rater_stars = „./img/15star.gif“;$rater_stars_txt=„1.5“;}
if ($rater_rating >= 2 ){$rater_stars = „./img/2star.gif“;$rater_stars_txt=„2“;}
if ($rater_rating >= 2.5){$rater_stars = „./img/25star.gif“;$rater_stars_txt=„2.5“;}
if ($rater_rating >= 3 ){$rater_stars = „./img/3star.gif“;$rater_stars_txt=„3“;}
if ($rater_rating >= 3.5){$rater_stars = „./img/35star.gif“;$rater_stars_txt=„3.5“;}
if ($rater_rating >= 4 ){$rater_stars = „./img/4star.gif“;$rater_stars_txt=„4“;}
if ($rater_rating >= 4.5){$rater_stars = „./img/45star.gif“;$rater_stars_txt=„4.5“;}
if ($rater_rating >= 5 ){$rater_stars = „./img/5star.gif“;$rater_stars_txt=„5“;}
// Output
echo ’ ';
echo ‚‘;
echo ’ Rate ‚.$rater_item_name.‘ ‚;
echo ’ ‚;
echo ‚‘.$rater_stars_txt.‘ Punkte von ‚.$rater_votes.‘ votes.‘;
echo ’ ';
echo ’ ';
echo ‚Super‘;
echo ‚Gut‘;
echo ‚Durchschnitt‘;
echo ‚geht so‘;
echo ‚schlecht‘;
echo ‚‘;
echo ‚‘;
echo ’ ';
if($rater_msg!="") echo " „.$rater_msg.“ ";
if(isset($_REQUEST[„option“])) echo ‚‘;
if(isset($_REQUEST[„task“])) echo ‚‘;
if(isset($_REQUEST[„id“])) echo ‚‘;
if(isset($_REQUEST[„Itemid“])) echo ‚‘;
echo ‚‘;
echo ’ ';
?>
vielen dank für die hilfe