Dzięki za tek szybką odpowiedź
Kod skryptu wygląda tak:
[php:1:75d61f01ff]<?php
// Ankieta do glosowania
$glosowane = array ('6' => 'rewelacyjna', '5' => 'bardzo dobra', '4' => 'dobra',
'3' => 'przeciętna', '2' => 'zła', '1' => 'beznadziejna');
function glosowanie ($glosowanie, $quiz) {
// funkcja zapamiętuje wynik głosowania danej osoby
setcookie ('glosowano', "1"); // pamiętamy, że już głosowano
if (file_exists("dane/glosowanie.txt")) { // jest plik z głosowaniem
$plik = fopen ("dane/glosowanie.txt", "r+");
flock ($plik, 2);
$wiersz = fgets ($plik, 255);
$wyniki = split ("|", $wiersz);
fseek ($plik, 0);
} else { // nie ma pliku - będzie utworzony
$plik = fopen ("dane/glosowanie.txt", "w+");
flock ($plik, 2);
}
for ($i=0; $i<count($glosowanie);$i++) { // aktualizacja wyników
if ($quiz == $i+1) {$wyniki[$i]++; }
fputs ($plik, $wyniki[$i]);
if ($i<count($glosowanie)-1) {fputs ($plik, '|'); }
}
flock ($plik, 3);
fclose ($plik);
}
function wyswietlanie ($glosowanie, $glosowano) {
// wy¶wietla wyniki jeżeli osoba głosowała lub formularz jeżeli nie
if ($glosowano) {
if (file_exists("dane/glosowanie.txt")) {
$plik = fopen ("dane/glosowanie.txt", "r");
$wiersz = fgets ($plik, 255); fclose ($plik);
$wyniki = split ("|", $wiersz);
for ($i=0; $i<count($wyniki); $i++) { $liczbaglosow += $wyniki[$i]; }
}
print "<p align=center><b>Ankieta</b></p>n";
print "<p>Oceń moj± stronę:</p><table>n";
for (reset ($glosowanie); $klucz=key($glosowanie); next ($glosowanie)) {
print "<tr><td>".pos($glosowanie).":&nsbp;</td><td>";
if ($liczbaglosow == 0){
$procent = 0; // aby uniknac dzielenia przez zero
} else {
$procent = ($wyniki[$klucz-1]/$liczbaglosow)*100;
}
print "<img src="img/1.gif" width=$procent height="10"></td>";
print "<td align=right> ";
printf ("%0.0f", $procent);
print ("%</td></tr>");
}
print "</table>";
} else {
print '<form method=get action="sonda.php">';
print "<p align=center><b>Ankieta</b></p>n";
print "<p>Oceń moj± stronę:</p><table>n";
for (reset ($glosowanie); $klucz=key($glosowanie); next ($glosowanie)) {
print ('<tr><td><input type=radio name=quiz value="'.$klucz. '"> '.
pos($glosowanie)."</td></tr>n");
}
print '</table><center><input type=submit value="Głosuj"></center></p>';
print '</form>';
}
}
if ($quiz) { //oddano głos - aktualizacja i przekierowanie
glosowanie ($glosowanie, $quiz);
// "odkomentuj" jeden z poniższych nagłówków
// jeżeli używasz w html przez ssi lub w innym php przez require:
header ("Location: ".$GLOBALS["HTTP_REFERER"]);
// jeżeli uzywasz samodzielnie:
//header ("Location: http://".$GLOBALS["localhost"].
//$GLOBALS["REDIRECT_URL"]);
} else { // formularz lub wyniki
wyswietlanie ($glosowanie, $glosowano);
}
?>[/php:1:75d61f01ff]
Plik jest wstawiony funkcją require w stronę sonda. php.
Jest to przykładowa sonda zrobiona na podstawie podręcznika (dla sprawdzenia) i w niej pojawia sie identyczny błąd w wierszu 57. Przesłanie całego Advanced Poll byłoby kłopotliwe.
Efekt można zobaczyć pod adresem:
http://www.mup.lublin.pl/mup_php/sonda.php
a plik z kodem: 6-12-2.php
z góry dziękuję
AGA