0
폼이 제출되기 전에 페이지에 표시되도록 현재 평가 값을 얻으려면이 코드에 필요한 변경 사항을 게시 할 수 있는지 궁금합니다. 감사.전류 등급을 어떻게 표시 할 수 있습니까?
<?php echo '<html>
<head>
<title>Rating Tool Test</title>
</head>
<body>';
if ((!isset($_POST['submit']))) {
echo '<form action="'.$_SERVER['PHP_SELF'].'" method="post">
Your Rating: <select name="rate">';
for ($i = 1; $i <= 5; $i++) {
echo "<option value=\"$i\">$i</option>"; }
echo '</select><br /><input type="submit" value="Rate it!" name="submit"/>
</form>';
}
else {
$rate = isset ($_POST['rate']) ? $_POST['rate'] : 0;
$filename = "ratings";
$alreadyRated = false;
$totalRates = 0;
$totalPoints = 0;
$ip = getenv('REMOTE_ADDR');
$oldResults = file('results/'.$filename.'.txt');
foreach ($oldResults as $value) {
$oneRate = explode(':',$value);
if ($ip == $oneRate[0]) $alreadyRated = true;
$totalRates++;
$totalPoints += $oneRate[1];
}
if ((!$alreadyRated) && ($rate > 0)){
$f = fopen('results/'.$filename.".txt","a+");
fwrite($f,$ip.':'.$rate."\n");
fclose($f);
$totalRates++;
$totalPoints+=$rate;
}
echo 'Total Average Rating:<br />'.substr(($totalPoints/$totalRates),0,3).' Out Of 5.<br />Total Votes: '.$totalRates.'<br />';
for ($i=0;$i<round(($totalPoints/$totalRates),0);$i++){
echo '<img src="style/star.gif" alt="star" />';
}
echo '</body>
</html>';
}
?>
? 디버깅을 시도 했습니까? –
들여 쓰기를 수정할 수있는 기회가 있으십니까? – Hamish
이것이 왜 폐쇄 된 것인지 알 수 없습니다. 질문이 명확 할뿐만 아니라 아래에서 대답 할 수있었습니다. 현재 그의 코드는 양식 제출 후 평가를 표시합니다. 그가 말했듯이, 양식 제출 전후에 평점을 표시하기를 원했습니다. – Olhovsky