Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Adres IP - skrypt, Jak wykonać skrypt?
Szunaj85
post
Post #1





Grupa: Zarejestrowani
Postów: 392
Pomógł: 7
Dołączył: 11.05.2008

Ostrzeżenie: (0%)
-----


Chciałbym się zapytać o jedną rzecz. Mianowicie chodzi mi o adres IP.
Napisałem skrypt, który wykonuje pewną czynność, gdy początek adresu IP użytkownika jest równy temu w zmiennej. Dokładnie chodzi o pogrubiony kawałek: xxx.xxx.xxx.xxx

  1. <?php
  2. $ip = $_SERVER[&#092;"REMOTE_ADDR\"];
  3. $poczatek_ip = '83';
  4. $czesc_ip = $poczatek_ip;
  5. $czesc_ip = &#092;".[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}\";
  6. if (ereg($poczatek_ip,$ip))
  7. echo &#092;"działa\";
  8. ?>


Ten skrypt działa bo sprawdzałem. Gdy w zmiennej wpisałem początek IP równe mojemu działał, natomiast gdy
w zmiennej wpisałem początek IP inny niż mój nie działał. Jednak każdy kraj ma więcej niż jeden początkowy numer IP,
a do jednej zmiennej chyba nie da się przypisać kilku liczb. Pomyślałem więc o tablicy.

Chodzi o skrypt, który odczytyłałby IP użytkownika, następnie przeszukiwałby tablicę i jeżeli początek adresu IP użytkownika jest równy liczbie znajdującej się w tablicy wykonywałby pewną czynność, gdy taki numer nie znajduje się w tablicy nic by nie robił albo zwracał false.

  1. <?php
  2. $ip = $_SERVER[&#092;"REMOTE_ADDR\"];
  3. $czesc_ip = $poczatek_ip;
  4. $czesc_ip = &#092;".[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}\";
  5.  
  6. $ip2 = $tablica;
  7. $tablica = array();
  8. $tablica[0] = '62';
  9. $tablica[1] = '67';
  10. $tablica[2] = '81';
  11. $tablica[3] = '83';
  12. $tablica[4] = '84';
  13.  
  14. $szukaj_ip = array_search($ip2, $tablica);
  15. if ($szukaj_ip == $poczatek_ip){
  16. if (ereg($poczatek_ip,$ip))
  17. {echo &#092;"działa\";}
  18. else {echo &#092;"nie działa\";}}
  19. else {echo &#092;"nie działa podwójnie\";}
  20. ?>


Ten skrypt już nie działa. Nie wiem czy dobrze się za to wziołem i gdzie są błędy. Interesuje mnie również rozwiązanie z kilkoma tablicami (kilka krajów). Prosiłbym o pomoc w tej sprawie.
Dopiero początkuje w PHP (z forum włącznie), więc proszę o wyrozumiałość. (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)

Ten post edytował Szunaj85 11.05.2008, 21:21:56
Powód edycji: Poprawiłem tą choinkę. /webdicepl
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Szunaj85
post
Post #2





Grupa: Zarejestrowani
Postów: 392
Pomógł: 7
Dołączył: 11.05.2008

Ostrzeżenie: (0%)
-----


Wcześniej tego nie dostrzegłem, ale chcąc wypełnić tablice numerami zauważyłem, że inne kraje też mają np. 83 na początku. To rujnuje mój plan, ponieważ nie mogę tak wykonać skryptu. Chciałem zapytać jak zlokalizować kraj z którego łączy się użytkownik na podstawie jego adresu ip. Może wystarczy coś takiego: xxx.xxx.xxx.xxx, a nie jak wcześniej sądziłem xxx.xxx.xxx.xxx. Sumując chcę być w stanie stwierdzić z jakiego kraju użytkownik połączył się z moją stroną odczytując jego adres ip i na tej podstawie wyświetlić odpowiedni komunikat (opierając się na powyższych skryptach). (IMG:http://forum.php.pl/style_emoticons/default/sadsmiley02.gif)
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.09.2025 - 07:48