Wortal Webmastera - źródło informacji dla tworzących strony www |  e-marketing / programowanie / webdesign / narzędzia          powered by CubeMatic.com

 

  WEBMASTERS    SKRYPTY

Strona glówna
HTML
JavaScript
PHP
CGI
MYSQL
CSS
SSI
WML
SGML
Offline
Photoshop
PHP
CGI
ASP
JavaScript

Artykuly

FORUM

  NARZEDZIA      SYSTEM

Grafika
Szablony
Czcionki
Porady

Download

  e-BIZNES

Artykuly
Linki
Profesjonalna strona
Nasza oferta
E-booki
Tanie strony www Warszawa

  NIEZBEDNIK

Za darmo
Kasa
Rejestrator www
Aktualności
Domeny
Konwerter ISO

  INNE

DOS
O stronie
Ksiega gości
Kontakt

Zgloś bląd!

 Polecamy:
 śmieszne zdjecia
 Hiszpanski Warszawa


Szukaj pliku



 SERWIS  

Ankieta TAK/NIE

W tym artykule przedstawię w jaki sposób można zrobić sondę typu tak/nie.
Tworzymy plik taknie.txt. Plik ten musimy utworzyć w tym samym katalogu co ankieta. Po edycji pliku w pierwszej linni wpisujemy pytanie sondy. Poniżej cyfrę 0 (głosy na tak) i niżej również 0 (głosy na nie) czyli:

Czy umiesz PHP ?
0
0
 

Następnie tworzymy nowy plik sonda.php. W pierwszej części zajmiemy się otworzeniem pliku taknie.txt:

<?php
if (isset($ankieta) && ($ankieta[0]=="tak" || $ankieta[0]=="nie")) {
$plik=fopen("taknie.txt","r") or die("Nie mogę otworzyć pliku taknie.txt! ");
$tytul=trim(fgets($plik,255));
$tak=trim(fgets($plik,255));
$nie=trim(fgets($plik,255));
fclose($plik);
$plik=fopen("taknie.txt","w") or die("Nie mogę otworzyć pliku taknie.txt! ");
flock($plik,2);
fwrite($plik,$tytul."\n");
if ($ankieta[0]=="tak") $tak++;
if ($ankieta[0]=="nie") $nie++;
fwrite($plik,$tak."\n");
fwrite($plik,$nie."\n");
flock($plik,1);
fclose($plik);
}

Nie będę opisywał każdej linijki bo dla znających choć trochę PHP są to podstawowe funkcje np. do tworzenia liczników itp.

Teraz ustawiamy kolory suwaków tak i nie:

$kolortak="green";
$kolornie="red";

$plik=fopen("taknie.txt","r") or die("Nie mogę otworzyć pliku taknie.txt! "); //jeżeli nie możesz otworzyć pliku wyświetl alert
?>

Następnie wstawimy formularz sondy:

<FORM name="ankieta" method="POST" action="index.php" target="_parent">
<TABLE border=0 cellpadding=0 cellspacing=0 style="border: solid 1px #000000; padding-left:5px; padding-right:5px; padding-top:2px; padding-bottom:2px">
<TR><TD bgcolor="#F4F2F2" class="modul">
<? echo trim(fgets($plik,255)); ?>
</TD></TR><TR><TD class="modul">
<input type="radio" value="tak" name="ankieta[]" checked onfocus=blur()> TAK        <input type="radio" value="nie" name="ankieta[]" onfocus=blur()> NIE
</TD></TR>
<TR><TD bgcolor="#F4F2F2" class="modul">
<input type="submit" onfocus=blur() style="background-color: #F4F2F2; font-family: Arial; font-size: 9px; width: 50; height: 17" value="GŁOSUJ"></TD></TR>
</TABLE>
</FORM>

Teraz kolej na liczenie i grupowanie głosów:

<?php
$tak=trim(fgets($plik,255));
$nie=trim(fgets($plik,255));
$liczbatak=$tak; //musimy mięć liczbę głosów na koniec
$liczbanie=$nie;
fclose($plik);
if ($tak!=0 || $nie!=0) {
//procentowo z dokładnością do 12 miejsc po przecinku
$x=100/($tak+$nie);
$tak*=$x;
$nie*=$x;
//liczymy żeby dostać reszę po przecinku
$temptak=$tak-(int)$tak;
$tempnie=$nie-(int)$nie;
//a tu już zaokrąglamy liczby z np. 1.1 na 1.5 lub np. 3.7 na 3.5
if ($temptak!=0 && ($temptak > 0.5 || $temptak < 0.5)) {settype($tak,integer); $tak+=0.5;}
if ($tempnie!=0 && ($tempnie > 0.5 || $tempnie < 0.5)) {settype($nie,integer); $nie+=0.5;}

//tabelka z  głosowaniem
echo "<TABLE border=0 width=300><TR style=\"font-family:Arial; font-size:11px\"><TD align=center>";
echo "Głosowano<font color=\"#000000\"> ".($liczbatak+$liczbanie)."</font>";
if (($liczbatak + $liczbanie) > 1) {echo " razy";} else {echo " raz";}
echo ", w tym oddano:<br><font color=\"red\">$liczbatak</font> ";
if ($liczbatak!=1) {echo " głosów";} else {echo " głos";}
echo " na <B>TAK</B>, oraz <font color=\"red\">$liczbanie</font>";
if ($liczbanie!=1) {echo " głosów";} else {echo " głos";}
echo " na <B>NIE</B>.<BR><BR>";
echo "<TABLE style=\"border:solid 1px #666666; font-family:Arial; font-size:10px\" border=0 cellspacing=0 cellpadding=0><TR>";
if ($tak!=0) {echo "<TD style=\"color:#000000\" align=center bgcolor=".$kolortak." width=".($tak*2).">".$tak."%</TD>";}
if ($nie!=0) {echo "<TD style=\"color:#000000\" align=center bgcolor=".$kolornie." width=".($nie*2).">".$nie."%</TD>";
echo "</tr></TABLE>";}

//słowny opis tabelki
echo "<TABLE border=0 cellpadding=0 cellspacing=0><tr style=\"font-family:Arial; font-size:9px\">";
if ($tak!=0) {echo "<td width=".($tak*2)." align=center>TAK</td>";}
if ($nie!=0) {echo "<td width=".($nie*2)." align=center>NIE</td>";}
echo "</tr></table>";
echo "</TD></TR></TABLE>";
if ($tak==50) {echo "<br>Pół na pół ;)";} //tu wyświetl jeżeli głosy są 50/50
}

 //jeżeli nikt nie zagłosował wyświetl 
else {echo "Jeszcze nikt nie głosował";}
?>

Autor: LuGo
http://xklonos.4me.pl 

<== WSTECZ =

R E K L A M A

^top^