Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Jak zrobic skrypt ktory blokowalby stronke na ip
Forum PHP.pl > Forum > Gotowe rozwiązania
problemow_mnostwo
Troche lamka jestem, probowalem w ten sposob

Zalozmy ze plik "txt" ma taka strukture: Costam||costam2||ip
[php:1:ca2cb3213d]<?php


$plik = file("baza.txt");
$total=count($plik);
for ($index=0; $index < $total; $index++)
{ $grupa = split("|", chop($plk[$index]));
$split = explode("||", $plik[$index]);

$ip = "$REMOTE_ADDR";
if($ip=$split[2]){
echo"You have been banned smile.gif";
}
elseif{
a tutaj skrypt do wykonania jesli jego ip nie ma w bazie
}
}
?>[/php:1:ca2cb3213d]

Skrypt nie dziala tak jakbym chcial winksmiley.jpg Nawet jesli nie ma kogos ip w bazie to wyskakuje ze You have been banned, pomozcie biggrin.gif biggrin.gif (teraz pisalem skrypt z glowy, moze byc jhakis parse error, chodzi o to zeby przedstawic wam jak chcialem to zrobic)

Z gory dzieki za pomoc
:Pozdrawiam:
matt
http://www.phpflash.hostm.pl/articles.php?...?topic=ip_block ten skrypt powinien Ci dzialac poprawnie
adwol
Po pierwsze nie ten operator w:
[php:1:25fdeca8bc]<?php
if($ip=$split[2]){
?>[/php:1:25fdeca8bc]
Zamień = na ==
Po drugie nie wiem po co robisz:
[php:1:25fdeca8bc]<?php
$grupa = split("|", chop($plk[$index]));
?>[/php:1:25fdeca8bc]
ale nie wnikam w to, może Ci to gdzieś jest przydatne. Natomiast w:
[php:1:25fdeca8bc]<?php
$split = explode("||", $plik[$index]);
?>[/php:1:25fdeca8bc]
też wypadałoby usunąć znak końca linii chopem.
GloomyMan
no i "elseif" wydaje mi sie ze pisze sie osobno:P else if?snitch.gif
spenalzo
Cytat
no i "elseif" wydaje mi sie ze pisze sie osobno:P else if?snitch.gif

Taa, a ja radze poczytać manual.


Cytat
W php można też napisać 'else if' (dwoma słowami) zamiast 'elseif' (jednym słowem). Z punktu widzenia składni języka, wyrażenia te różnią się od siebie (jeśli znasz się na C, jest to ta sama różnica co w C), jednak wynik ich działania jest ten sam.

BTW: zaciekawiło mnie "jeśli znasz się na C, jest to ta sama różnica co w C" - co to za różnica?
b3
ja bym poprawil jedna rzecz..

z: $ip="$REMOTE_ADDR";
na: $ip=getenv("REMOTE_ADDR");

teraz bedzie lepiej:)
adwol
Cytat
ja bym poprawil jedna rzecz..

z: $ip="$REMOTE_ADDR";
na: $ip=getenv("REMOTE_ADDR");

teraz bedzie lepiej:)

W sumie to chyba bardziej zalecane jest:
[php:1:d850181227]<?php
$ip = $_SERVER['REMOTE_ADDR'];
?>[/php:1:d850181227]
ale i tak powinno wyjść na jedno. :wink:
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.