Php 如何显示当前额定值?

Php 如何显示当前额定值?,php,rating-system,Php,Rating System,我想知道是否有人可以为我张贴我需要对这段代码所做的更改,以便在提交表单之前以及之后(正如现在编写的那样)在页面上显示当前的评级值。谢谢 <?php echo '<html> <head> <title>Rating Tool Test</title> </head> <body>'; if ( (!isset($_POST['submit'])) ) { echo '<form action="'.$_SERV

我想知道是否有人可以为我张贴我需要对这段代码所做的更改,以便在提交表单之前以及之后(正如现在编写的那样)在页面上显示当前的评级值。谢谢

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

以下是您请求的更改:

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


上面的代码有什么错误?你试过调试吗?有没有可能修复缩进?我不知道为什么会关闭。这个问题不仅清楚,而且我能在下面回答。目前,他的代码在表单提交后显示评级。正如他所说的,他希望在提交表格之前和之后显示评分。我想我只是把它放错位置了。谢谢你,我还有很多东西要学。。。。