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
Babcia@Stefa
post
Post #2





Grupa: Zarejestrowani
Postów: 654
Pomógł: 17
Dołączył: 19.03.2006
Skąd: z kosmosu ;)

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


Może napisz po co Ci te dwie tablice, być może nawet pomożemy Ci zintegrować ten kod (zapewne nie będzie to trudne)...

Rozwiązanie marcio'a nie jest wcale lepsze, a pozatym to są tylko instrukcje warunkowe.

Dziękuję, Babcia@Stefa
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: 5.10.2025 - 11:18