Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Sprawdzenie czy ktoś już odwiedzał stronę i zablokować
Forum PHP.pl > Forum > Przedszkole
vander1989
Siemka chciałbym zrobić tak że ktoś juz po odwiedzeniu strony o podanym adresie nie mogł na nią wejść danego dnia jak mozna to wykonać ?
sadistic_son
Ktoś zalogowany, czy po prostu gość?
Hoku
ciacho

albo trzymac w bazie dla zalogowanych czy ten ID tam byl
ciekawskiii
Najlepiej w bazie, ciacho mozna usunac i wejdzie znowu, zrob dodatkowe pole np. int
0 - nie byl
1 - byl
i sprawdzaj ifem
vander1989
własnie dziś gadałem z kumplem podsunał mi pomysł będe sobie robił cos takiego id kazdej strony i date jak będzie sie powtarzało etc tongue.gif tylko czy mi to za bardzo nie zajedzie bazy?
ciekawskiii
Zalezy jak to zrobisz, a co to ma w ogole byc? Jakas gra? Myslalem ze chodzi o jedna strone
benio101
Przykład:

Tworzysz tabelę w bazie danych mySQL o nazwie ip.
Struktura:
Kod
typ              nazwa

varchar(100)     strona
varchar(12)      ip
varchar(6)       data

Dla każdej odsłony dajesz:
  1. function pobierzIP(){
  2. if(!empty($_SERVER['HTTP_CLIENT_IP'])){
  3. $ip=$_SERVER['HTTP_CLIENT_IP'];
  4. } elseif(!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){
  5. $ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
  6. } else {
  7. $ip=$_SERVER['REMOTE_ADDR'];
  8. }
  9. return $ip;
  10. }
  11.  
  12. function getCurrentUrl() {
  13. $isHTTPS = ( isset($_SERVER["HTTPS"] ) && $_SERVER["HTTPS"] == "on" );
  14. $port = ( isset($_SERVER["SERVER_PORT"] ) && (( !$isHTTPS && $_SERVER["SERVER_PORT"] != "80" ) || ( $isHTTPS && $_SERVER["SERVER_PORT"] != "443" )));
  15. $port = ($port) ? ':'.$_SERVER["SERVER_PORT"] : '';
  16. $url = ( $isHTTPS ? 'https://' : 'http://').$_SERVER["SERVER_NAME"].$port.$_SERVER["REQUEST_URI"];
  17.  
  18. return $url;
  19. }
  20.  
  21. $ip=pobierzIP();
  22. $strona=getCurrentUrl();
  23. $dzisiaj=date(rmd);
  24.  
  25. $wynik=mysql_query("SELECT data FROM ip WHERE ip=$ip AND strona=$strona");
  26. $linia=mysql_fetch_assoc($wynik);
  27. $data=$linia[data];
  28. if($linia && $data==$dzisiaj){
  29. // access denied
  30. } else {
  31. mysql_query("INSERT INTO ip VALUES ($strona,$ip,$dzisiaj)"); // wstawiasz info do bazy danych
  32. // wyswietl strone
  33. }
  34.  
  35. // nie zapomnij w mysql_query() dodac 2. argumentu
vander1989
mam coś podobnego smile.gif tylko jeszcze usuwanie po godzinie 24 smile.gif takze nie bedzie tych wpisów aż tak bardzo smile.gif
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.