Ankieta - dane w pliku tekstowym
Skrypt tworzy ankietę.
Do działania potrzebuje pliku colors.data wystarczy go utworzyć i dać prawa 777
Listing
//Formularz umożliwiający oddawanie głosu ankieta.html ####
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
<TITLE>Głosowanie</TITLE>
</HEAD>
<BODY>
<CENTER>
<H2>Jaki jest Twój ulubiony kolor?</H2>
<FORM METHOD="post" ACTION="ankieta.php">
<TABLE>
<TR>
<TD>czerwony</TD>
<TD>
<INPUT TYPE="radio" NAME="vote" VALUE="czerwony">
</TD>
</TR>
<TR>
<TD>zielony</TD>
<TD>
<INPUT TYPE="radio" NAME="vote" VALUE="zielony">
<TD>
</TR>
<TR>
<TD>niebieski</TD>
<TD>
<INPUT TYPE="radio" NAME="vote" VALUE="niebieski">
<TD>
</TR>
<TR>
<TD>fioletowy</TD>
<TD>
<INPUT TYPE="radio" NAME="vote" VALUE="fioletowy">
<TD>
</TR>
<TR>
<TD>czarny</TD>
<TD>
<INPUT TYPE="radio" NAME="vote" VALUE="czarny">
<TD>
</TR>
</TABLE>
<BR>
<INPUT TYPE="submit" VALUE="Głosuj">
</FORM>
</CENTER>
</BODY>
</HTML>
//Skrypt PHP przetwarzający dane z ankiety ankieta.php ##########
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
<TITLE>Wyniki głosowania</TITLE>
</HEAD>
<BODY>
<CENTER>
<H2>Wyniki głosowania</H2>
<?PHP
function printResults()
{
if(isSet($_POST["vote"])){
$color = $_POST["vote"];
}
else{
$color = "";
}
if($color == ""){
echo("Proszę zaznaczyć jeden z kolorów.");
return;
}
if(file_exists("colors.data")){
if(($fp = fopen("colors.data", "r+")) === false)
return;
}
else{
if(($fp = fopen("colors.data", "a+")) === false)
return;
}
$czerwony = intval(fgets($fp));
$zielony = intval(fgets($fp));
$niebieski = intval(fgets($fp));
$fioletowy = intval(fgets($fp));
$czarny = intval(fgets($fp));
switch($color){
case "czerwony":$czerwony++;break;
case "zielony":$zielony++;break;
case "niebieski":$niebieski++;break;
case "fioletowy":$fioletowy++;break;
case "czarny":$czarny++;break;
default: echo("Ooops, Chyba mamy błąd w skrypcie...");return;
}
fseek($fp, 0);
fputs($fp, $czerwony."\r\n");
fputs($fp, $zielony."\r\n");
fputs($fp, $niebieski."\r\n");
fputs($fp, $fioletowy."\r\n");
fputs($fp, $czarny."\r\n");
fclose($fp);
$votes_no = $czerwony + $zielony + $niebieski + $fioletowy + $czarny;
$czerwony_nazwa = "czerwony";
$niebieski_nazwa = "niebieski";
$zielony_nazwa = "zielony";
$fioletowy_nazwa = "fioletowy";
$czarny_nazwa = "czarny";
$czerwony_proc = sprintf("%.2f", $czerwony * 100 / $votes_no);
$zielony_proc = sprintf("%.2f", $zielony * 100 / $votes_no);
$niebieski_proc = sprintf("%.2f", $niebieski * 100 / $votes_no);
$fioletowy_proc = sprintf("%.2f", $fioletowy * 100 / $votes_no);
$czarny_proc = sprintf("%.2f", $czarny * 100 / $votes_no);
echo("<TABLE border='1'>");
$kolor_nazwa = "Nazwa koloru";
$ile_glosow = "Liczba głosów";
$proc_glosow = "Procent głosów";
include("color_tab_row.inc");
echo("$code");
$kolor_nazwa = $czerwony_nazwa;
$ile_glosow = $czerwony;
$proc_glosow = $czerwony_proc;
include("color_tab_row.inc");
echo("$code");
$kolor_nazwa = $zielony_nazwa;
$ile_glosow = $zielony;
$proc_glosow = $zielony_proc;
include("color_tab_row.inc");
echo("$code");
$kolor_nazwa = $niebieski_nazwa;
$ile_glosow = $niebieski;
$proc_glosow = $niebieski_proc;
include("color_tab_row.inc");
echo("$code");
$kolor_nazwa = $fioletowy_nazwa;
$ile_glosow = $fioletowy;
$proc_glosow = $fioletowy_proc;
include("color_tab_row.inc");
echo("$code");
$kolor_nazwa = $czarny_nazwa;
$ile_glosow = $czarny;
$proc_glosow = $czarny_proc;
include("color_tab_row.inc");
echo("$code");
echo("</TABLE>");
}
printResults();
?>
</CENTER>
</BODY>
</HTML>
//Szablon tworzący wiersze tabeli color_tab_row.inc ###########
<?PHP
$code = <<<CODE
<|!REG3XP0!><TR>
<TD>$kolor_nazwa</TD>
<TD>$ile_glosow</TD>
<TD>$proc_glosow</TD>
</TR>|>
CODE;
?>
Dodano przez: igor
Ranga: Administrator serwisu Punktów: 0
Ranga: Administrator serwisu Punktów: 0
Komentarze użytkowników
Dobra ankieta :P
autor: dsds121 | 12757 | 2012-02-19 18:26:39
:: Losowe artykuły
:: Wymiana linków
Modowe inspiracje |
Android Gry i Aplikacje |
ZaplanujTransport.pl: Przeprowadzki, transport, aukcje |
Logo dla firmy |
Change Tires - Car Weather Forecast Reminder |
Laminas: MVC Framework for PHP |
IT Books Reviews and Programming: JS, JAVA, PHP, ANDROID, CSS |
Katalog roślin |
Programming articles: JAVA, PHP, C++, Python, JavaScript |
Kancelaria Adwokacka Łukasz Huszno