PHP - przykładowe skrypty
Do stworzenia sondy bez MySQL potrzebujemy pięciu plików:
sonda.htm, sonda.php, sonda.txt, dopisz.php i linia.gif.
Linia.gif powinna przedstawiać obrazek linii. W pliku sonda.htm
znajduje się pytanie i formularz.
###SONDA.HTM###
<html>
<head><title>Sonda</title></head>
<body>
<form method="post"
action="dopisz.php">
Czy podoba ci sie nasz serwis?<br>
<input type="radio" name="odp"
value="tak">Tak<br>
<input type="radio" name="odp"
value="nie">Nie<br>
<input type="radio" name="odp"
value="nw">Nie wiem<br>
<input type="submit" value="slij">
</form>
</body>
</html>
###SONDA.PHP###
<?PHP
$file=fopen("sonda.txt","r"); /*Otwieramy
plik sonda.txt*/
$linia=fgets($file, 81); /*pobieramy linię*/
$tbl=explode("#", $linia); /*zamieniamy ją na
tablicę*/
$tab["tak"]=$tbl[0]; /*którą zamieniamy na tablicę
asocjacyjną*/
$tab["nie"]=$tbl[1];
$tab["nw"]=$tbl[2];
$suma = $tab["tak"] + $tab["nie"] +
$tab["nw"]; /*wykonujemy obliczenia na zmiennych
(wyliczamy procenty)*/
$tak = floor(($tab["tak"] / $suma) * 100);
$nie = floor(($tab["nie"] / $suma) * 100);
$nw = floor(($tab["nw"] / $suma) * 100);
echo "<table cellpadding=\"0\"
cellspacing=\"0\" border=\"1\">
<tr><td
colspan=\"2\">Tak</td></tr>\n";
echo "<tr><td width=\"210\"><img
src=\"linia.gif\" width=\"". 2*$tak
."\"
height=\"10\"></td><td>". $tak
."% (<b>". $tab["tak"].
"</b>)</td></tr>
<tr><td
colspan=\"2\">Nie</td></tr>\n";
echo "<tr><td width=\"210\"><img
src=\"linia.gif\" width=\"". 2*$nie
."\"
height=\"10\"></td><td>". $nie
."% (<b>". $tab["nie"].
"</b>)</td></tr>
<tr><td colspan=\"2\">Nie
wiem</td></tr>\n";
echo "<tr><td width=\"210\"><img
src=\"linia.gif\" width=\"". 2*$nw
."\"
height=\"10\"></td><td>". $nw
."% (<b>". $tab["nw"].
"</b>)</td></tr>
<tr><td colspan=\"2\">Łącznie głosów:
<b>$suma</b>
</table>"; /*pokazujemy wyniki*/
?>
###SONDA.TXT###
0#0#0
Komentarz: Są to ilości osób które
głosowały na dane odpowiedzi oddzielone "#", żeby
PHP mógł zapisać je do tablicy.
###DOPISZ.PHP###
<?PHP
$file = fopen("sonda.txt","r+"); /*otwieramy
plik sonda.txt*/
$linia = fgets($file, 80);
$tab = explode("#",$linia); /*zapisujemy linię do
tablicy*/
$tbl["tak"] = $tab[0];/*którą zapisujemy do
asocjacyjnej*/
$tbl["nie"] = $tab[1];
$tbl["nw"] = $tab[2];
++$tbl[$odp];/*zwiększamy o jeden ilość osób głosujących na
daną odpowiedź*/
fseek($file, 0);/*przesuwamy strumień pliku do początku*/
fwrite($file,
$tbl["tak"]."#".$tbl["nie"]."#".$tbl["nw"]);
/*zapisujemy dane do pliku oddzielając je "#"*/
Header("Location: sonda.php");/*przeskakujemy do
sonda.php*/
?>
|