Autor Zpráva
Anonymní
Profil *
stiahol som si taku anketu:

<HTML>
<HEAD>
<META CONTENT="text/html; charset=windows-1250" HTTP-EQUIV="Content-Type" content="text/html; charset=WINDOWS-1250">
<META http-equiv="cache-control" content="no-cache">
<META http-equiv="pragma" content="no-cache">
<TITLE>Ankteta</TITLE>
<LINK rel="stylesheet" type="text/css" href="styl.css">
</HEAD>
<BODY>
<?php
$souborip="anketa-ip.txt"; //soubor s ip adresami hlasujících
$soubor="hlasuj.txt"; //soubor s hlasy
$aktualni = $REMOTE_ADDR; //aktuální ip adresa


$otazka = "Jak se vám líbí <br> tyto stránky?"; //Otázka
$odp = array("Super!!","Dobrý.","Ujde.","Hrůza!!!","MOZNOST 5","Moznost 6"); //Odpovědi


//Kontrola existence souborů
if (!file_exists($souborip))
{
err ($souborip);
exit;
}
if (!file_exists($soubor))
{
err ($soubor);
exit;
}
//Konec kontroly

//Otevření a načtení hlasů
$data = fopen($soubor, "r");
$cti = fread($data, filesize($soubor)+10);
fclose($data);
list($a, $b, $c, $d, $e, $f) = explode( "Đ", $cti);

//Hlasování
if (isset($odpoved))
{
if (zjistiip($souborip, $aktualni))
{
if ($odpoved == "a") {$a++;}
elseif ($odpoved == "b") {$b++;}
elseif ($odpoved == "c") {$c++;}
elseif ($odpoved == "d") {$d++;}
elseif ($odpoved == "e") {$e++;}
elseif ($odpoved == "f") {$f++;}

$zapsat = "$a" . "Đ" . "$b" . "Đ" . "$c" . "Đ" . "$d" . "Đ" . "$e" . "Đ" . "$f" . "Đ";
$kam = fopen($soubor, "w");
fwrite($kam, $zapsat); //zapsání nového hlasu do souboru
fclose($kam);

$ipsoubor = fopen($souborip, "r"); //zapsání ip adresy odesílatele hlasu
$data = fread($ipsoubor, filesize($souborip)+10);
fclose($ipsoubor);

$write = $data.$aktualni."Đ";

$kam = fopen($souborip, "r+");
fwrite($kam,$write);
fclose($kam);

}
}


//Zobrazení výsledků
$celkem = $a+$b+$c+$d+$e+$f;
$lidi = $celkem;

if ($celkem == 0)
{
$celkem = "1";
$lidi="0";
}

$pr = $celkem/100;
$a = number_format($a/$pr,1);
$b = number_format($b/$pr,1);
$c = number_format($c/$pr,1);
$d = number_format($d/$pr,1);
$e = number_format($e/$pr,1);
$f = number_format($f/$pr,1);

$pismeno = array ("a","b","c","d","e","f");
$procenta = array ("$a","$b","$c","$d","$e","$f");
$kolik = "6";

echo "<table border='0' cellpadding='0' cellspacing='0' width='250px'>\n";
echo "<tr><td colspan='2' class='nadpis'>$otazka</td></tr>\n";

for ($i=0; $i<$kolik ;$i++ )
{

if (zjistiip($souborip, $aktualni))
{
echo "<tr><td colspan='2' class='text'><a href=anketa.php?odpoved=$pismeno[$i]>$odp[$i]</a></td></tr>\n";
}
else
{
echo "<tr><td colspan='2' class='text' >$odp[$i]</td></tr>\n";
}

echo "<tr><td bgcolor='#ffffff' width='85px'><img src='prouzek.png' height='5px' width='".(($procenta[$i])/1.2)."px'></td><td class='text' width='10px'> $procenta[$i]%</td></tr>\n";
}
echo "<tr><td colspan='2' class='nadpis'>Celkem hlasovalo: $lidi</td></tr></table>\n";



//Funkce pro vypsání chyby
function err ($soubor)
{
echo "<font color=red><b>Chyba!</b></font><br>Nelze nalézt soubor <b>$soubor</b>!\n";
}

//funkce pro zjištění ip adresy
function zjistiip($souborip, $ip)
{

$ipsoubor = fopen($souborip, "r");
$data = fread($ipsoubor, filesize($souborip)+10);
fclose($ipsoubor);
$ipadresy = explode("Đ",$data);

if (in_array($ip, $ipadresy))
{
return false; //Pokud již bylo z dané ip adresy hlasováno
}
else
{
return true; // pokud nebylo z dané ip hlasováno
}
} //konec funkce




?>
</BODY>
</HTML>


a chcel by som, aby sa mi tam zobrazil aj pocet hlasov, nie iba percenta (vo vyhodnoteni)
neviete ako ??? dik
Webspy
Profil
Já používám jiný skript:

<?
if (File_Exists ("admin/data_anketa.txt")):
$fp = FOpen("admin/data_anketa.txt", "r");
$data_anketa = FRead ($fp, FileSize("admin/data_anketa.txt"));
List($ano,$ne) = Explode("#", $data_anketa);
endif;

if ($send=="ano" && ($anketa == "ano" || $anketa == "ne")):
if (!File_Exists ("admin/data_anketa.txt")):
$ano = "0";
$ne = "0";
$fp = FOpen("admin/data_anketa.txt", "w");
FWrite ($fp, $ano ."#" . $ne);
FClose($fp);
endif;

if (File_Exists("admin/data_ip.txt")):
$fp = FOpen("admin/data_ip.txt", "r");
$data_ip = FRead ($fp, FileSize("admin/data_ip.txt"));
$IP = Explode("#", $data_ip);
FClose ($fp);
endif;

for ($i=0;$i<Count($IP);$i++):
if ($REMOTE_ADDR == $IP[$i]):
$zapis = "ne";
endif;
endfor;

if ($zapis != "ne"):

if ($anketa == "ano"):
$ano += 1;
$data_anketa = $ano. "#" . $ne;
else:
$ne += 1;
$data_anketa = $ano. "#" . $ne;
endif;

$fp = FOpen ("admin/data_anketa.txt", "w");
FWrite ($fp, $data_anketa);
FClose ($fp);

$fp = FOpen("admin/data_ip.txt", "a");
FWrite ($fp, "#" . $REMOTE_ADDR);
FClose ($fp);
endif;

endif;
?>

Líbí se Vám na?e stránky?
<form method="post">
Ano<input type="radio" name="anketa" value="ano"><i>(<?echo $ano?>)</i>&nbsp;&nbsp;&nbsp;Ne<input type="radio" name="anketa" value="ne"><i>(<?echo $ne?>)</i><br>
<? if (File_Exists ("admin/data_anketa.txt")): $soucet = $ano + $ne; $width1 = 115/$soucet*$ano; $width2 = 115/$soucet*$ne; ?>
<img src="images/1.gif" width=<?echo $width1?> height="6" border="0" alt=""><img src="images/2.gif" width=<?echo $width2?> height="6" border="0" alt=""><br><br>
<? endif;
if (File_Exists("admin/data_ip.txt")):
$fp = FOpen("admin/data_ip.txt", "r");
$data_ip = FRead ($fp, FileSize("admin/data_ip.txt"));
$IP = Explode("#", $data_ip);
FClose ($fp);
for ($i=0;$i<Count($IP);$i++):
if ($REMOTE_ADDR == $IP[$i]):
$zapis = "ne";
endif;
endfor;
if ($zapis == "ne"):
echo "Ji? jste hlasoval.";
else:
echo '<center><input type="submit" value="Hlasovat" style="font-size:8pt"></center>';
endif;
else:
echo '<center><input type="submit" value="Hlasovat" style="font-size:8pt"></center>';
endif;
?>
<input type="hidden" name="send" value="ano">
</form>


Zkopčil jsem to jen ze svých stránek, takže jsou tam možná věci, co tam bejt nemají... Funguje to takhle: http://www.agecko.wz.cz (anketa)
llook
Profil
Anonymní, asi by bylo lepší pochopit jak funguje ten skript.
Asi by bylo nejjednodušší před tohle:

$a = number_format($a/$pr,1);
$b = number_format($b/$pr,1);
...

dát tohle:

$pocet = array($a, $b, $c, $d, $e, $f);

A řádek:

echo "<tr><td bgcolor='#ffffff' width='85px'><img src='prouzek.png' height='5px' width='".(($procenta[$i])/1.2)."px'></td><td class='text' width='10px'> $procenta[$i]%</td></tr>\n";

Nahradit řádkem:

echo "<tr><td bgcolor='#ffffff' width='85px'><img src='prouzek.png' height='5px' width='".(($procenta[$i])/1.2)."px'></td><td class='text' width='10px'> $procenta[$i]% (počet hlasů: $pocet[$i])</td></tr>\n";
Anonymní
Profil *
DAKUJEM !!!!! :-)))))))
Toto téma je uzamčeno. Odpověď nelze zaslat.