![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 34 Pomógł: 0 Dołączył: 25.04.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Niedawno znalazłem znakomitą sondę wszystko było by ok gdyby tylko była blokada że jeżeli ktoś już oddał głos nie może zrobić tego ponownie w ciągu jednego dnia. I dlatego występuję do was z pytaniem czy może wiecie jak zrobić taką blokadę? Poniżej prezentuje skrypty sondy: Index.php <form action="glosuj.php" method="post"> <strong>Jak Ci Się Podoba Nasza Strona?</strong><br> <input type="radio" name="glos" value="1" class="sondaodp" /> Jest Super<br> <input type="radio" name="glos" value="2" class="sondaodp" /> Może Być<br> <input type="radio" name="glos" value="3" class="sondaodp" /> Jest Beznadziejna<br> <input type="submit" value="Głosuj" /> </form> Glosuj.php <?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['glos'] == 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['glos'] == 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: pokaz.php"); /*przekierowanie przeglądarki do pliku pokaz.php*/ ?> /*koniec interpretowanego bloku*/ Pokaz.php <?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>Jest Super:</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> <img src="pasek.jpg" alt="pasek.jpg" title="Jest Super" 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>Może Być:</td><td> <?php echo(round($wyniki[1]/$suma * 100)); ?> %</td><td> <img src="pasek.jpg" alt="pasek.jpg" title="Może Być" 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>Jest Beznadziejna:</td><td> <?php echo(round($wyniki[1]/$suma * 100)); ?> %</td><td> <img src="pasek.jpg" alt="pasek.jpg" title="Jest Beznadziejna" height="10" width=" <?php echo(round($wyniki[1]/$suma * 100)); ?> " /></td></tr> </font> </tbody> </table> <p>Ogołem oddano głosów: <?php echo($suma); ?> Blokada ma być na 24 godziny. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 11:50 |