2011-01-29 9 views
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>';  
} 
?> 
+1

? 디버깅을 시도 했습니까? –

+1

들여 쓰기를 수정할 수있는 기회가 있으십니까? – Hamish

+0

이것이 왜 폐쇄 된 것인지 알 수 없습니다. 질문이 명확 할뿐만 아니라 아래에서 대답 할 수있었습니다. 현재 그의 코드는 양식 제출 후 평가를 표시합니다. 그가 말했듯이, 양식 제출 전후에 평점을 표시하기를 원했습니다. – Olhovsky

답변

1

여기에 요청한 변경 사항은 다음과 같습니다 위의 코드는 무슨 일입니까

<?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>'; 
} 
$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>'; 
?> 
+1

빙고! 정말 고맙습니다.... – mobilestimulus

관련 문제