![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 33 Pomógł: 0 Dołączył: 18.01.2011 Ostrzeżenie: (0%) ![]() ![]() |
Witam, mam problem, gdyż nie potrafię sobie poradzić z zapisem adresu IP do bazy MySQL.
Więc tak, projekty robię na KRASNALu czyli cała baza itp. opiera sie na localhoscie ale to nie ma znaczenia. Mój problem jest taki że (dodam ręcznie dajmy na to adres IP w formie xxx.xxx.xxx.xxx) to za nic w świecie nie mogę porównać tego adresu.Chciałem na początku sprawdzić czy adres osoby która jest aktualnie zarejestrowana znajduje się w bazie, jeśli tak to uniemożliwić jej głosowanie a jeśli nie to pozwolić jej głosować, po czym zapisać IP w bazie. Próbowałem to robić na wszystkie sposoby, nawet i ręcznie wpisywałem adres ip do bazy i do tego skryptu który sprawdza i nici... Korzystając z $_SERVER['REMOTE_ADDR'] też nie uzyskuje poprawnego działania.
Jeśli to w czymś pomoże to pole ip jest typu varchar(15) |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 702 Pomógł: 65 Dołączył: 16.03.2009 Ostrzeżenie: (0%) ![]() ![]() |
-------------------- Nie udzielam pomocy poprzez PW
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Co z tego opisu jest niejasne? http://pl.php.net/mysql_query#refsect1-fun...ry-returnvalues
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 33 Pomógł: 0 Dołączył: 18.01.2011 Ostrzeżenie: (0%) ![]() ![]() |
Wszystko...
Zmieniłem zapytanie na Z tym że nadal występuje problem z poprawnym odczytem z bazy... możecie nakierować w czym jest błąd? |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 74 Pomógł: 3 Dołączył: 15.01.2012 Ostrzeżenie: (0%) ![]() ![]() |
Ten post edytował zdemotywowany 19.01.2012, 20:15:13 |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 33 Pomógł: 0 Dołączył: 18.01.2011 Ostrzeżenie: (0%) ![]() ![]() |
Dalej to samo :/ może opiszę dokładniej.
Więc: Cały serwer stoi u mnie na komputerze, program KRASNAL. Wchodzę z domowego kompa wpisując loclhost lub 127.0.0.1 i teoretycznie jak i w praktyce $_SERVER['REMOTE_ADDR'] zwraca mi wartość 127.0.0.1 ale ten kod który jest podany ciągle zwraca mi wartość dla true czyli że ip znajduje się w bazie danych,bez względu na to czy ono tam jest czy go nie ma... |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 74 Pomógł: 3 Dołączył: 15.01.2012 Ostrzeżenie: (0%) ![]() ![]() |
Może teraz, wcześniej był mały błąd i zapewne u wszystkich on był ![]() EDIT: A jak robisz przez phpmyadmin to też Ci zwraca, że jest gdy go nie ma? Ten post edytował zdemotywowany 19.01.2012, 20:45:41 |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 33 Pomógł: 0 Dołączył: 18.01.2011 Ostrzeżenie: (0%) ![]() ![]() |
dalej nie działa, może błędny typ danych jest? ale wątpię wcześniej był podany sposób konwersji adresu ip do liczb i odwrotnie może by z tego skorzystać... skoro tak normalnie się nie da...
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 74 Pomógł: 3 Dołączył: 15.01.2012 Ostrzeżenie: (0%) ![]() ![]() |
Da się, nie panikuj. Wyświetl to zapytanie w phpmyadmin i daj tutaj wynik.
|
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 33 Pomógł: 0 Dołączył: 18.01.2011 Ostrzeżenie: (0%) ![]() ![]() |
nie wyświetle tego zapytania gdyż jest tam $_SERVER['REMOTE_ADDR'] - jeśli podmienię na ip "ręczne" - SELECT * FROM adres WHERE ip='127.0.0.1' wtedy zadziała może coś w tym $_SERVER['REMOTE_ADDR'] jest nie tak...
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 74 Pomógł: 3 Dołączył: 15.01.2012 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 2 178 Pomógł: 596 Dołączył: 25.09.2009 Skąd: Piwniczna-Zdrój Ostrzeżenie: (0%) ![]() ![]() |
Odstąpię nieco od problemu. Rozwiązanie, które chcesz zaimplementować do dobrych nie nie należy. Adres IP nie jest wiarygodną informacją (jeśli chodzi o identyfikacje użytkownika) przede wszystkim dlatego, że bardzo wiele osób ma wspólny adres IP. Do identyfikacji użytkownika, który nie jest zarejestrowany w Twoim serwisie musisz użyć większej ilości danych, jak np. informacje o przeglądarce, ciasteczka, itp. i do tego IP.
W powyższej wypowiedzi celowo użyłem podkreślenia. Jeśli bowiem sprawa dotyczy użytkownika zarejestrowanego (tak można wywnioskować z Twojego pierwszego opisu), to przecież nie ma problemu, bo jego unikalnym identyfikatorem jest odpowiedni numer w bazie danych. Wtedy wystarczy dodatkowa tabela, np.: GŁOSY_UŻYTKOWNIKÓW: DOTYCZY - kolumna zawierające identyfikator ankiety, której dotyczy głos ID_UŻYTKOWNIKA - identyfikator użytkownika, który oddał głos (tej kolumny używamy do sprawdzenia, czy użytkownik juz głosował) OCENA - kolumna opcjonalna, w której określamy wartość głosu użytkownika W przypadku, gdy mówimy o użytkowniku niezarejestrowanym, niestety trzeba się "nagimnastykować". Odpowiednie tematy były na tym forum omawiane i wystarczy dobrze poszukać. PS: Krasnal chyba nie jest już rozwijany i z tego co się orientuję nie ma najnowszych wersji czy to PHP, czy MySQL, dlatego proponuję rozważyć możliwość zainstalowania czegoś bardziej "współczesnego". Aplikacji jest sporo i wystarczy poszukać. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 10:17 |