![]() |
![]() |
-zmarcin- |
![]()
Post
#1
|
Goście ![]() |
![]() Mam skrypt, który umożliwia głosowanie. Chciałbym jednak ustawić ciacho, powiedzmy na 1 godzine i 25 minut, aby nie można było szybko nabijać głosów. Jak to uzyskać? Poniżej pliki wykorzystywane w sondzie (nie są mojego autorstwa - jestem słaby w temacie php ![]() pytanie.php: <HTML> ... <TABLE cellSpacing=0 cellPadding=0 width=209 bgColor=#ffffff border=0><TBODY> <TR> <TD WIDTH=209 BACKGROUND=../grafika/dk.jpg CLASS=pollquestion> <CENTER><P CLASS=lewemenu><B><FONT COLOR="000000">MOJA SONDA:</FONT></B></P></CENTER> <DIV ALIGN=left> <FORM NAME=sonda ACTION="glosuj.php" METHOD=post TARGET=pollpopup> <B>   Czy Polska awansuje do piłkarskich MŚ 2006 w Niemczech? </B> </A> </TD> </TR> <TR> <TD WIDTH=209 HEIGHT=7 BACKGROUND=../grafika/dk.jpg> </TD> </TR> <TR> <TD WIDTH=209 BACKGROUND="../grafika/dk.jpg" CLASS=pollanswer> <DIV style="line-height:0.9"> <input CHECKED type="radio" name="pollAnswer" value="1"><B>Tak</B> <br> <input type="radio" name="pollAnswer" value="2"><B>Nie</B> <br> <BR>     <INPUT TYPE=image hspace=0 src="../grafika/zaglosuj.png" border=0 ALT="ZAGŁOSUJ">   |   <A CLASS=rightsection HREF="wyniki.php" TARGET=_blank> <IMG SRC=../grafika/wyniki.png BORDER=0 ALT="Wyniki bierzacej sondy"></A> </CENTER> </DIV> </FORM> </TD> </TR> </TABLE> </TBODY> </BODY> </HTML> plik glosuj.php: <HTML> <HEAD> </HEAD> <BODY> <?php /*Początek interpretowanego bloku */ $plik = fopen("wyniki.txt", "r"); /*otwarcie do odczytu pliku z wynikami*/ $dane = fread($plik, filesize("wyniki.txt")); /*odczytanie z pliku z wynikami danych i zapisanie ich do zmiennej $dane odczytanych zostanie tylko tyle znaków ile istnieje w pliku, nie mniej, nie więcej*/ $wyniki = split(":", $dane); /*wydzielenie dwóch wyników, rozdzielenie zawartości zmiennej po znaku dwukropka*/ fclose($plik); /*zamknięcie pliku*/ if($_POST['pollAnswer'] == 1) $wyniki[0] += 1; /*jeśli użytkownik głosował "za" marchewką, czyli zmienna "glos" ma wartość jeden to do wyników za dopisywany jest jeden głos*/ else if ($_POST['pollAnswer'] == 2) $wyniki[1] += 1; /*analogiczna operacja do poprzedniej, ale dodawany jest głos "przeciw"*/ else ; /*instrukcja dla reszty przypadków, które teoretycznie nie powinny nastąpić*/ $plik = fopen("wyniki.txt", "w"); /*ponowne otwarcie pliku z wynikami, tym razem do zapisu, plik jest wyzerowany*/ flock($plik, 2); /*zablokowanie pliku przed innymi skryptami, które będą chciały zapisywać*/ fwrite($plik, "$wyniki[0]:$wyniki[1]:", 200); /*zapis wyników do pliku, 200 znaków z powodzeniem wystarczy*/ flock($plik, 3); /*zdjęcie blokady z pliku*/ fclose($plik); /*zamknięcie pliku*/ header("Location: wyniki.php"); /*przekierowanie przeglądarki do pliku wyniki.php*/ ?> /*koniec interpretowanego bloku*/ </BODY> </HTML> i wreszcie wyniki.php: <HTML> <HEAD> </HEAD> <BODY BACKGROUND=../grafika/dk.jpg> <B> Czy Polska awansuje do piłkarskich M¦ 2006 w Niemczech? </B> <?php $plik = fopen("wyniki.txt", "r"); /*otwarcie pliku z wynikami do odczytu*/ $dane = fread($plik, filesize("wyniki.txt")); /*odczytanie wszystkich bajtów z pliku*/ fclose($plik); /*zamknięcie pliku*/ $wyniki = split(":", $dane); /*rozdzielenie wyników*/ $suma = $wyniki[0] + $wyniki[1]; /*zsumowanie wyników*/ ?> <table> <tbody> <tr><td>Tak:</td><td> <?php echo(round($wyniki[0]/$suma * 100)); /*wyświetlenie zaokrąglonej procentowej ilości głosów, znak procenta jest w następnej linijce*/ ?> %</td><td> ( <?php echo($wyniki[0]); ?> ) <img src="../grafika/dot.jpg" alt="../grafika/dot.jpg" title="Tak" height="10" width=" <?php echo(round($wyniki[0]/$suma * 100)); /*podobnie jak wcześniej, tyle, że wyświetlona liczba będzie szerokością graficznego paska, w tym wypadku liczba 100 jest maksymalną szerokością paska */ ?> "> </td></tr> <tr><td>Nie:</td><td> <?php echo(round($wyniki[1]/$suma * 100)); ?> %</td><td> ( <?php echo($wyniki[1]); ?> ) <img src="../grafika/dot.jpg" alt="../grafika/dot.jpg" title="Nie" height="10" width=" <?php echo(round($wyniki[1]/$suma * 100)); ?> " /></td></tr> </tbody> </table> <p>Ogołem oddano głosów: <?php echo($suma); ?>.</p> </BODY> </HTML> |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 19:16 |