![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 13 Pomógł: 0 Dołączył: 16.11.2010 Ostrzeżenie: (0%) ![]() ![]() |
Chcę stworzyć skrypt banów na IP, że wpisuje w PA ip lub HOST osoby zbanowanej i dodaje się ona do bazy danych (to umiem i już zrobię). Jest problem z tym jak te ip i HOST wyciągnąć i każdy sprawdzić i porównać z osobą wchodzącą. Na razie napisałem takie coś ale wiem ze to nie zadziała:
Nie wiem jak to przerobić. Proszę o pomoc. //Edit Tak myślę żeby zrobić pętle w której będą wszystkie wyciągnięte dane i wszystkie porównać. Ten post edytował Kunicki 1.01.2011, 14:56:45 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 28 Pomógł: 9 Dołączył: 16.01.2010 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
nie napisałeś jaką strukturę bazy masz, także przyjmę że w kolumnie ip przechowujesz ip zbanowanych a w host hosty. Nie musisz porównywać tego w PHP, SQL zrobi to za Ciebie, wystarczy że użyjesz zapytania:
gdzie za ip i host (te w apostrofach) wstawiasz (poprzez PHP) ip i host osoby która wchodzi na stronę. Jeśli zapytanie zwróci jakieś rezultaty to dany odwiedzający ma bana. Praktyczne zastosowanie w PHP:
to jest linijka z zapytaniem, dalej masz błąd gdyż w zmiennej ban jest przechowywany "odnośnik" do rezultatu zapytania. Ten wynik musisz uzyskać następną funkcją, w tym przypadku wystarczy użycie mysql_num_rows, który zwraca ilość znalezionych w bazie rekordów, w przypadku braku bana zwróci 0, czyli IFa zmieniasz na: |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 13 Pomógł: 0 Dołączył: 16.11.2010 Ostrzeżenie: (0%) ![]() ![]() |
nie napisałeś jaką strukturę bazy masz, także przyjmę że w kolumnie ip przechowujesz ip zbanowanych a w host hosty. Nie musisz porównywać tego w PHP, SQL zrobi to za Ciebie, wystarczy że użyjesz zapytania: gdzie za ip i host (te w apostrofach) wstawiasz (poprzez PHP) ip i host osoby która wchodzi na stronę. Jeśli zapytanie zwróci jakieś rezultaty to dany odwiedzający ma bana. Praktyczne zastosowanie w PHP:
to jest linijka z zapytaniem, dalej masz błąd gdyż w zmiennej ban jest przechowywany "odnośnik" do rezultatu zapytania. Ten wynik musisz uzyskać następną funkcją, w tym przypadku wystarczy użycie mysql_num_rows, który zwraca ilość znalezionych w bazie rekordów, w przypadku braku bana zwróci 0, czyli IFa zmieniasz na: Wyświetla błąd: Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\Program Files (x86)\WebServ\httpd\head.php on line 9 Wszystko wydaje sie że działa:
A baza wygląda tak: ban id | ip | host Ten post edytował Kunicki 1.01.2011, 18:29:36 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 28 Pomógł: 9 Dołączył: 16.01.2010 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Bo brakuje mysql_connect (IMG:style_emoticons/default/smile.gif)
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 13 Pomógł: 0 Dołączył: 16.11.2010 Ostrzeżenie: (0%) ![]() ![]() |
Bo brakuje mysql_connect (IMG:style_emoticons/default/smile.gif) A no racja bo połączenie z bazą miałem niżej. Już przestawiłem i działa (IMG:style_emoticons/default/biggrin.gif) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 14:38 |