Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Sesja Lub Cookies
Forum PHP.pl > Forum > Przedszkole
_Martin_
WItam
Odstatnio czytałem o sesjach i Cookies.
I Wydumałem takie cookies aby co 30 dni pozwalał właczanie danego zapytania przez zalogowanego uzytkownika To znaczy '".$id_zaloguj."'

  1. <?php
  2. setcookie("junior", "1", time()+60*60*24*31);
  3. ?>

I Zapisuje cookie, na dysk oczywiście zalogowanego uzytkownika ale jest jeden problem, iz idze to obejśc ten cookie. W Firefoxie. Wchodzimy w
Narzędzia >> Opcje >> Prywatność >> Ciasteczka >> Wyczyść.

No i ciasteczko:
  1. <?php
  2. setcookie("junior", "1", time()+60*60*24*31);
  3. ?>

Zostało usunięte. I mozna zaś wywoływać zapytanie. Ale mam własnie pytanie związane z tym faktem jak zrobić aby zapisywał cookies na serwer np jego ip i czytał czy te ip ten uzytkownik z tym ip był na tej stronie co wywołuje zapytanie do bazy.

Myślałem nad sesją ale jak je zastosować tylko do jednej podstrony. questionmark.gif
Levabul
I co mamy ci jeszcze gotowca napisać ?

ip pobieżesz za pomocą
  1. <?php
  2.  
  3. getenv('REMOTE_ADDR');
  4.  
  5. ?>


reszte chyba sobie zrobisz nie ?

----edit----
Ton Twojej wypowiedzi, która zresztą niewiele wnosi, nie jest za bardzo przyjazny. Opanuj się nastepnym razem.
~mike_mech


sorry ale miałem męczący dzień tongue.gif ...
mike
1. O cookie nie martw się tak bardzo. Niewielu użytkowników sieci je wyłancza. Z danych Ranking.pl wynika że tylko 1.6% użytkowników nie ma ich włączonych.
2. Do pobrania adresu IP możesz użyć tej funkcji:
  1. <?php
  2. function GetClientIP()
  3. {
  4. $ip = 0;
  5.  
  6. if( ! empty( $_SERVER[ 'HTTP_CLIENT_IP' ] ) )
  7. {
  8. $ip = $_SERVER[ 'HTTP_CLIENT_IP' ];
  9. }
  10.  
  11. if( !empty( $_SERVER[ 'HTTP_X_FORWARDED_FOR' ] ) )
  12. {
  13. $ipList = explode( ", ", $_SERVER[ 'HTTP_X_FORWARDED_FOR' ] );
  14. if( $ip )
  15. {
  16. array_unshift( $ipList, $ip );
  17. $ip = 0;
  18. }
  19. foreach( $ipList as $v )
  20. {
  21. if( !eregi( "^(192.168|172.16|10|224|240|127|0.", $v ) )
  22. {
  23. return $v;
  24. }
  25. }
  26. }
  27.  
  28. return $ip ? $ip : $_SERVER[ 'REMOTE_ADR' ];
  29. }
  30.  
  31. ?>

3. Nie da się zapisać cookie's na serwerze. Możesz zapisać IP przychodzących a zwykłych plikach trzymanych na serwerze lub w bazie danych.
_Martin_
mike_mech Na prawde twoja propozycja jest bardzo... ciekawa dziękuje smile.gif Ale coś podobnego już mam:

Levabul - Tyle ci powiem:

  1. <?php
  2.  
  3. session_register("id_zaloguj");
  4. $fp=fopen("ip.txt", "a");
  5. flock($fp, 2);
  6. fwrite($fp, $_SERVER['REMOTE_ADDR']."n");
  7. //Adres IP
  8. fwrite($fp, $_SERVER['HOSTNAME']."n");
  9. //Nazwa Komputera
  10. fwrite($fp, $_SERVER['HTTP_USER_AGENT']."n");
  11. //Zawarto&para;ć nagłówka User Agent, wysyłanego przez przegl&plusmn;darkę
  12. fwrite($fp, $_SERVER['HTTP_HOST']."n");
  13. //Zawarto&para;ć nagłówka Host
  14. fwrite($fp, $_SERVER['SERVER_PROTOCOL']."n");
  15. //Nazwa i wersja protokołu
  16. fwrite($fp, $_SERVER['GATEWAY_INTERFACE']."n");
  17. //Wersja specyfikacji CGI, używanej przez serwer
  18. fwrite($fp, $_SERVER['HOSTTYPE']."n");
  19. //System operacyjny
  20. fwrite($fp, $_SERVER['PATH']."n");
  21. //Systemowa scieżka serwera
  22. fwrite($fp, $_SERVER['OSTYPE']."n");
  23. //System operacyjny
  24. fwrite($fp, $_SERVER['PHP_SELF']."n");
  25. fwrite($fp, $_SERVER['HTTP_COOKIE_VARS']."n");
  26. fwrite($fp, $_SERVER['HTTP_POST_VARS']."n");
  27. fwrite($fp, $_SERVER['HTTP_GET_VARS']."n");
  28. flock($fp, 3);
  29. fclose($fp);
  30. ?>
Levabul
Nie wiem co mi potym tongue.gif

A mike dał ci funkcje która pobiera adres ip nawet jeżeli użytkownik znajduje sie za serwerem proxy.

Jeszcze jedno: w moim niepotrzebnym poście u góry urzyłem funkcji getenv zamiast superglobalnej $_SERVER ponieważ czasami zamiast $_SERVER nie podane są inne superglobalne takie jak $_ENV itd.
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.