Zum Inhalt springen
ThreadPHP & MySQL

Kleines Problem mit rating php script

Kategorie
PHP & MySQL
Gelesen
3218
Antworten
13
Erstellt von: Themenersteller Kfz-Meister Fortgeschrittener (78 Beiträge)Datum: 20.07.2010, 14:07 Uhr
Archiv-KommentarArchiviert, nicht priorisiertCMS & technische Umsetzung

Redaktionelle Einordnung

Diese archivierte Diskussion behandelt Kleines Problem mit rating php script aus Sicht der Rubrik PHP & MySQL.

CMS- und Technikfragen sind heute besonders dann relevant, wenn sie Indexierung, Rendering, interne Verlinkung oder Relaunch-Risiken beeinflussen.

Sinnvoll nutzbar bleibt der Thread vor allem als historischer Kontext, für typische Fragestellungen und zur Einordnung älterer Empfehlungen.

Einige im historischen Thread genannte Tools, Dienste oder externe Links könnten heute nicht mehr verfügbar oder inhaltlich überholt sein. Nutzen Sie sie bitte nur mit zusätzlicher Prüfung.

Startbeitrag

Originaler Foreninhalt in modernisierter Darstellung.

Zur Kategorie
Themenersteller Kfz-Meister Fortgeschrittener (78 Beiträge)
am 20.07.2010, 14:07 Uhr eröffnete WebLinkBook folgenden Thread PHP & MySQL 3218 mal gelesen 13 Antwort(en).

Hallo zusammen,

ich habe ein kleinen Problem mit diesem rating script und zwar weis ich nicht wohin er die Bewertungen abspeichert. Ansonsten funzst es einwandfrei. Ich Poste das einfach mal vielleicht kann das jemand herauslesen.

Gruß
Thomas

<?

// 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="You have already rated this item. You were allowed ".$rater_ip_vote_qty." vote(s).";
$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 ){$rater_stars = "./img/00star.gif";$rater_stars_txt="Not Rated";}
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 '<form method="post" action="'.$_SERVER["PHP_SELF"].'">';
echo '

Rate '.$rater_item_name.'

';
echo '

';
echo ''.$rater_stars_txt.' stars Ave. rating: '.$rater_stars_txt.' from '.$rater_votes.' votes.';
echo '

';
echo '

';
echo '';
echo '';
echo '';
echo '';
echo '';
echo '<input type="hidden" name="rs_id" value="'.$rater_id.'" />';
echo '<input type="submit" name="rate'.$rater_id.'" value="Rate" />';
echo '

';
if($rater_msg!="") echo "

".$rater_msg."

";
echo '</form>';
echo '

';

?>




WebLinkBook
Kostenloses Branchen- und RSS Verzeichnis

Antworten

10 Beiträge
JDev Xer Content Gott (1224 Beiträge)
am 20.07.2010, 14:30 Uhr schrieb romacron
Antwort

Hallo Thomas,
versuch mal das "echo $rater_filename;"

das ist die Datei.

Kfz-Meister Fortgeschrittener (78 Beiträge)
am 20.07.2010, 14:36 Uhr schrieb WebLinkBook
Antwort

romacron schrieb:

Hallo Thomas,
versuch mal das "echo $rater_filename;"

das ist die Datei.


Hallo Roman,

ich habe keine andere Datei und die Bewertungen werden trotzdem gespeichert, das ist das dubiose daran.


WebLinkBook
Kostenloses Branchen- und RSS Verzeichnis
JDev Xer Content Gott (1224 Beiträge)
am 20.07.2010, 14:41 Uhr schrieb romacron
Antwort

Hallo Thomas,
Dein Quelltext sagt ganz klar fopen,fclose . Für mich sind das PHP Dateizugriffe mittels lesen und schreiben.
Was gibt denn das echo command zurück?

Kann es sein, dass Du im Quelltext verrutscht bist und es zwei Speichermöglichkeiten gibt?
Eine DB und eine via Datei.
$rater_file=fopen($rater_filename,"r");
print_r($rater_file);

Kfz-Meister Fortgeschrittener (78 Beiträge)
am 20.07.2010, 14:54 Uhr schrieb WebLinkBook
Antwort

romacron schrieb:

Hallo Thomas,
Dein Quelltext sagt ganz klar fopen,fclose . Für mich sind das PHP Dateizugriffe mittels lesen und schreiben.
Was gibt denn das echo command zurück?

Kann es sein, dass Du im Quelltext verrutscht bist und es zwei Speichermöglichkeiten gibt?
Eine DB und eine via Datei.
$rater_file=fopen($rater_filename,"r");
print_r($rater_file);


du keine Ahnung, habe eine item_1.rating Datei und die ist leer.

Habe mal eine test Datei gemacht verzeichnisse-seotools.eiwen.net/homepage-tools/test.html


funktioniert einfanfrei aber der Speicherort ist mir rätselhaft????


WebLinkBook
Kostenloses Branchen- und RSS Verzeichnis
JDev Xer Content Gott (1224 Beiträge)
am 20.07.2010, 14:59 Uhr schrieb romacron
Antwort

Last Chance,

Mit dem Debugger locker flockig mal die url durch Stepen

Kfz-Meister Fortgeschrittener (78 Beiträge)
am 20.07.2010, 15:10 Uhr schrieb WebLinkBook
Antwort

Ultima schrieb:

Das Script sollte eine Datei im selben Verzeichnis erstellen wo sich die PHP Datei des Scriptes befindet. Diese sollte >item_1.rating< heisen.

EDIT:

verzeichnisse-seotools.eiwen.net/homepage-tools/item_1.rating



Habe jetzt die Datei item_1.rating (zugriffsrechte 755) angelegt und die id auf 1 umgestellt, ein paar mal berwetet, Bewrtungen sind gespeichert aber die Datei "item_1.rating" ist leer.


WebLinkBook
Kostenloses Branchen- und RSS Verzeichnis
gelöschter Benutzer
am 20.07.2010, 15:19 Uhr schrieb
Antwort

WebLinkBook schrieb:

Ultima schrieb:

verzeichnisse-seotools.eiwen.net/homepage-tools/item_1.rating




Cool jetzt sehe ich was gespeichert wurde nur wo hatt er diese Datei angelegt????????



Im selben Verzeichnis wo die Datei mit dem Script aus deinem 1. Post liegt.

Kfz-Meister Fortgeschrittener (78 Beiträge)
am 20.07.2010, 15:22 Uhr schrieb WebLinkBook
Antwort

Ultima schrieb:

WebLinkBook schrieb:

Ultima schrieb:

verzeichnisse-seotools.eiwen.net/homepage-tools/item_1.rating




Cool jetzt sehe ich was gespeichert wurde nur wo hatt er diese Datei angelegt????????



Im selben Verzeichnis wo die Datei mit dem Script aus deinem 1. Post liegt.


Dankeschön, habe die ganze Zeit im Ordner vote nachgeschaut aber das der mir neue Dateien anlegt hätte ich jetzt nicht gedacht.
Nochmals vielen Dank an alle, Problem gelöst.

Gruß
Thomas


WebLinkBook
Kostenloses Branchen- und RSS Verzeichnis