![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 70 Pomógł: 0 Dołączył: 30.08.2005 Ostrzeżenie: (0%) ![]() ![]() |
cześć
zainstalowałem sobie tabele z zakresami IP krajów - ip-to-country, aby ładowała się odpowiednia wersja językowa strony. Skrypt nie działa, może ktoś wie co może być nie tak? W ogóle nic się nie dzieje (IMG:style_emoticons/default/smile.gif) Dla testu pobieram sobie rekord z bazy to działa (np. SELECT * FROM ip LIMIT 1), czyli połączenie z bazą jest ok, pola tabeli też sprawdzałem...
Ten post edytował dachu 1.12.2010, 11:36:28 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 200 Pomógł: 38 Dołączył: 1.12.2010 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Dodaj na początku
Wywal wszystkie @ sprzed funkcji od bazy danych i w 20 linii: Dzięki temu sprawdzisz co dostajesz z bazy i czy przypadkiem Twój krasnal albo @ nie ukryły Ci jakiegoś fatal errora przy połączeniu z bazą czy wyciąganiu danych. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 70 Pomógł: 0 Dołączył: 30.08.2005 Ostrzeżenie: (0%) ![]() ![]() |
nie mam, żadnych komunikatów o błedach, nic się nie wyświetla... zrobiłem tak jak napisałeś
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 200 Pomógł: 38 Dołączył: 1.12.2010 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Na pewno wywalileś wsystkie znaki @ sprzed funkcji? Nie możliwe, żeby wywalało Ci skrypt nie informując o tym. Znaczniki @ nie drukują komnikatu błędu do standardowego wyjścia, można te błędy jedynie zobaczyć w error.log w logach apacha. Jak masz do nich dostęp to tak czy inaczej zaglądnij co tam się pojawia podczas uruchamiania Twojego skryptu.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 70 Pomógł: 0 Dołączył: 30.08.2005 Ostrzeżenie: (0%) ![]() ![]() |
Pojawia się teraz komunikat: Undefined variable: kod2
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 200 Pomógł: 38 Dołączył: 1.12.2010 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
To oznacza, że baza danych nie zwraca Ci żadnego rekordu. Twoja pętla while nie zadziała zatem nie ma zadeklarowanej wartości zmiennej $kod2. Twoje ify na końcu w takim wypadku nic nie robią i wykonuje się ostatni else. Spróbuj wydrukować sobie swoje zapytanie po 11 linijce (echo $query;) i potem wykonaj je ręcznie przez np. phpMyAdmina. Sprawdzisz dzięki temu czemu baza danych nie zwraca Ci żadnego komunikatu.
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 70 Pomógł: 0 Dołączył: 30.08.2005 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 200 Pomógł: 38 Dołączył: 1.12.2010 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
A co pokazuje phpMyAdmin na to zapytanie?
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 70 Pomógł: 0 Dołączył: 30.08.2005 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 200 Pomógł: 38 Dołączył: 1.12.2010 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
W takim razie zapytanie nie zwraca żądnych wyników, zatem skrypt działa poprawnie. Nie ma wyników, nie ma przypisania zmiennej $kod2, więc nic się nie dzieje. Popracuj nad zapytaniem, czy na pewno wyszukuje odpowiednie dane i czy te dane są.
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 70 Pomógł: 0 Dołączył: 30.08.2005 Ostrzeżenie: (0%) ![]() ![]() |
W takim razie zapytanie nie zwraca żądnych wyników, zatem skrypt działa poprawnie. Nie ma wyników, nie ma przypisania zmiennej $kod2, więc nic się nie dzieje. Popracuj nad zapytaniem, czy na pewno wyszukuje odpowiednie dane i czy te dane są. może to INET_ATON nie działa na danej wersji ... MySQL |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 200 Pomógł: 38 Dołączył: 1.12.2010 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
inet_aton('109.190.117.27') => 1841198363
W jakiej reprezentacji masz dane w swojej bazie? moze inet_aton potrzebujesz zadać po dwóch stronach zapytania? to jest dla Twojego sql:
Ten post edytował Quadina 3.12.2010, 00:44:42 |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 70 Pomógł: 0 Dołączył: 30.08.2005 Ostrzeżenie: (0%) ![]() ![]() |
inet_aton('109.190.117.27') => 1841198363 W jakiej reprezentacji masz dane w swojej bazie? moze inet_aton potrzebujesz zadać po dwóch stronach zapytania? to jest dla Twojego sql:
włąsnie w takiej np: 1841198363 ale nadal to samo (IMG:style_emoticons/default/sad.gif) Ten post edytował dachu 3.12.2010, 07:04:16 |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 200 Pomógł: 38 Dołączył: 1.12.2010 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 1 182 Pomógł: 115 Dołączył: 4.03.2009 Skąd: Myszków Ostrzeżenie: (0%) ![]() ![]() |
Nie lepiej język sprawdzać w nagłówkach przeglądarki, a potem wyświetlić dodatkowo opcję zmiany języka?
|
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 1 076 Pomógł: 62 Dołączył: 6.03.2005 Skąd: Wroc Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 70 Pomógł: 0 Dołączył: 30.08.2005 Ostrzeżenie: (0%) ![]() ![]() |
A nie ma dodatkowo napisane że wynik zwrócił 0 rekordów ? No 0 rekordów... nie ma jakiegoś łatwiejszego sposobu na to? Dziwne jest jeszcze to, że koledze z krakowa przesłałem skrypt i jemu wyświetla skrót PL, a mi nie... Jakby mój IP nie mieścił się w szukanym zakresie... Ale podobnie sprawdzałem u innego kolegi z mojego miasta i również nie wyświetla skrótu PL. Dziwne to... Jeśli dam przykładowe zapytanie w PhpMyadmin:
to wyświetla mi rekordy: 2 50331648 69956103 US USA UNITED STATES 3 69956104 69956111 BM BMU BERMUDA 4 69956112 83886079 US USA UNITED STATES 5 94585424 94585439 SE SWE SWEDEN 6 100663296 121195295 US USA UNITED STATES 7 121195296 121195327 IT ITA ITALY 8 121195328 152305663 US USA UNITED STATES 9 152305664 152338431 GB GBR UNITED KINGDOM itd... Ten post edytował dachu 3.12.2010, 17:37:28 |
|
|
![]()
Post
#18
|
|
Grupa: Zarejestrowani Postów: 200 Pomógł: 38 Dołączył: 1.12.2010 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Kolego... Twój IP to po inecie 1841198363, nie masz takiego w swoim spisie, masz tylko mniejsze, zatem wynik jest poprawnie 0 rekordów (IMG:style_emoticons/default/smile.gif) Kolega musiał mieć IP z miejsca gdzie masz akurat zakresy, zatem wszystko sprowadza się to tego, że nie masz pełnej bazy danych (IMG:style_emoticons/default/smile.gif)
|
|
|
![]()
Post
#19
|
|
Grupa: Zarejestrowani Postów: 70 Pomógł: 0 Dołączył: 30.08.2005 Ostrzeżenie: (0%) ![]() ![]() |
Kolego... Twój IP to po inecie 1841198363, nie masz takiego w swoim spisie, masz tylko mniejsze, zatem wynik jest poprawnie 0 rekordów (IMG:style_emoticons/default/smile.gif) Kolega musiał mieć IP z miejsca gdzie masz akurat zakresy, zatem wszystko sprowadza się to tego, że nie masz pełnej bazy danych (IMG:style_emoticons/default/smile.gif) dokładnie tak, no i do czegoś doszliśmy, dzięki, znalazłem baze która jest obszerniejsza : ) nie tetowałem jeszcze, ale jest nadzieja : D |
|
|
![]() ![]() |
![]() |
Aktualny czas: 16.09.2025 - 13:54 |