2011-01-29 67 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

是什麼上面的代碼做錯了什麼?你有沒有試過調試它? – 2011-01-29 00:02:30

+1

有什麼機會可以修復縮進? – Hamish 2011-01-29 00:03:27

回答

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>'; 
?>