Blokada dodawania głosów w sondzie

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

Jak Ci Się Podoba Nasza Strona?

 Jest Super

 Może Być

 Jest Beznadziejna


[/code]




Glosuj.php

[code]<?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*/


?>

| Jest Super: | <?php echo(round($wyniki[0]/$suma * 100)); /*wyświetlenie zaokrąglonej procentowej ilości głosów, znak procenta jest w następnej linijce*/ ?> % | pasek.jpg |
| Może Być: | ?php echo(round($wyniki[1]/$suma * 100)); ? % | pasek.jpg |
| Jest Beznadziejna: | ?php echo(round($wyniki[1]/$suma * 100)); ? % | pasek.jpg |
Ogołem oddano głosów: ?php echo($suma); ?[/code]

Blokada ma być na 24 godziny.

Nie prościej założyć sondę na http://www.websonda.pl?

Zaznaczasz opcje pojedyncza odpowiedz i zabezpiecz przed powtórnym głosowaniem i zrobione.

hackme z takimi odpowiedziami mi nie wyskakuj powiedzialem wyraznie pod ta sonde a nie pod co innego!

Dodane 09.05.2009 (So) 13:21

hackme z takimi odpowiedziami mi nie wyskakuj powiedzialem wyraznie pod ta sonde a nie pod co innego!

Najprostsza metoda to po oddaniu głosu wysyłasz cookie które gdy jest to blokujesz oddanie głosu.

Tak zrobiłem np. na www.tapety.pomorze.pl . Jeśli chcesz zobaczyć jak to działa to taka sonda jak na mojej stronie jest do ściągnięcia www.puma.pomorze.pl/pobieralnia.php .

Ludzie zrozumcie ja chcę linijkę czy tam ile tych linijek jest do tego skryptu tak ażeby nie było można głosować więcej niż 1 raz w ciągu dnia rozumienie czy nie?

Potrzebuje tylko skryptu blokady ciasteczek aby podkleić go pod ten skrypt, nie potrzebuje całej sondy.

Jakbyś był trochę bystry to byś zobaczył skrypt Pumy i skorzystał z tego co tam jest…