Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Problem ze skryptem głosowania
Forum PHP.pl > Forum > Przedszkole
miras
Witam, mam skrypt głosowania, jest w nim taki problem, że czy IP jest zapisane w pliku czy go nie ma to i tak wyskakuje komunikat "głosowałeś niedawno"..

  1.  
  2. $ip = $_SERVER['REMOTE_ADDR'];
  3. $spr = file("inc/glosy.txt");
  4.  
  5.  
  6. if(in_array($ip,$spr)) {
  7.  
  8. $dane = $ip."\n";
  9. $file = "inc/glosy.txt";
  10. $fp = fopen($file, "a");
  11. flock($fp, 2);
  12. fwrite($fp, $dane);
  13. flock($fp, 3);
  14. fclose($fp);
  15. $info="Twój głos został dodany!";
  16. } else { $info="Głosowałeś niedawno!"; }


dzięki z góry!
Turson
Tak w ogóle to nie ma sensu już się bawić w fopen fwrite fclose etc. Zastąp to funkcją file_put_contents() z PHP5
miras
z tego, co się orientuje to file_put_contents pobiera całą zawartość strony/pliku np. do zmiennej także nie rozumiem w czym mi to tutaj pomoże?
Turson
file_put_contents - zapisuje
file_get_contents - pobiera
miras
racja, sorki wink.gif już sprawdzam i daje znać czy działa..

no ok.. "zaktualizowałem" swój kod, ale tutaj nie w zapisywaniu jest problem...


  1. $ip = $_SERVER['REMOTE_ADDR'];
  2. $spr = file("inc/glosy.txt");
  3.  
  4.  
  5.  
  6. if(in_array($ip,$spr)) {
  7.  
  8. $dane = $ip."\n";
  9. $file = "inc/glosy.txt";
  10. $current = file_get_contents($file);
  11. $current .= $ip."\n";
  12. file_put_contents($file, $current);
  13. $info="Twój głos został dodany!";
  14. } else { $info="Głosowałeś niedawno!"; }
  15.  
nospor
1) Masz niesamowity blad logiczny..... Pozwalasz na glosowanie jesli in_array zwroci true, czyli wtedy, gdy koles juz glosowal. No przeciez ma byc na odwrot.... :/
2) file() zwraca wiersze z enterem na koncu wiec Twoje IP nigdy nie bedzie pasowalo. Zajrzyj do manuala i zobacz co zrobic by file() zwracalo wiersze bez enterow na koncu
miras
@@@ dzieki, już działa.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.