Also ich kann nur schätzen, da
$envoi nicht in diesem script belegt wird, sondern irgendwo anders (vlt mal rauskriegen wo??).
Erste Möglichkeit ist, herauszufinden wo, womit und unter welchen Voraussetzungen
$envoi belegt wird, und dann von vorn herein die Entscheidung ob bereits gevotet wurde beeinflussen.
Zweite möglichkeit ist die:
PHP-Code:
<?php
if (!empty($envoi)) {
$vote=fopen($ficdest, "r");
$old_stats=file($ficdest);
$stats=explode("|", $old_stats[0]);
fclose($vote);
$nbr_votes=$stats[1];
$moy_votes=$stats[2];
if ($stats[4] != $REMOTE_ADDR) {
$nbr_votes +=1;
$moy_votes=((($stats[1]*$stats[2])+$note)/$nbr_votes);
}
else { echo "<font face=Verdana size=2 color=red>Sie haben schon abgestimmt</font>"; }
$ip_vote=$REMOTE_ADDR;
$vote=fopen($ficdest, "w");
$new_stats=fputs($vote, "$new_count|$nbr_votes|$moy_votes|$stats[3]|$ip_vote");
fclose($vote);
}
?>
Hier sollte nun
$envoi nicht ausgewertet werden sondern direkt der IF-Zweig bearbeitet werden. Z.B. so:
PHP-Code:
<?php
if (TRUE)) {
$vote=fopen($ficdest, "r");
$old_stats=file($ficdest);
$stats=explode("|", $old_stats[0]);
fclose($vote);
$nbr_votes=$stats[1];
$moy_votes=$stats[2];
if ($stats[4] != $REMOTE_ADDR) {
$nbr_votes +=1;
$moy_votes=((($stats[1]*$stats[2])+$note)/$nbr_votes);
}
else { echo "<font face=Verdana size=2 color=red>Sie haben schon abgestimmt</font>"; }
$ip_vote=$REMOTE_ADDR;
$vote=fopen($ficdest, "w");
$new_stats=fputs($vote, "$new_count|$nbr_votes|$moy_votes|$stats[3]|$ip_vote");
fclose($vote);
}
?>
Inwiefern andere Variablen von diesem Vorgehen negativ beeinflusst werden ist mit dem Codeschnipsel von oben nicht überschaubar, musste halt probieren...