X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Не работает БАН
dimjan4
dimjan4
Topic Starter сообщение 27.3.2010, 11:48; Ответить: dimjan4
Сообщение #1


Сделал бан, но сообщение "Вам выдан бан!" выводится когда захочет.
[PHP]$ip_user=$_SERVER['REMOTE_ADDR'];
$ban=file("system/".$system['ban_file']) or die ("Не могу найти ".$system['ban_file']);
foreach($ban as $key=>$value){
if($value==$value){
echo("Вам выдан бан!");
exit();
}
}[/PHP]
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZhukV
ZhukV
сообщение 27.3.2010, 12:53; Ответить: ZhukV
Сообщение #2


(dimjan4 @ 27.3.2010, 13:48) *
$ip_user=$_SERVER['REMOTE_ADDR'];
];
$ban=file("system/".$system['ban_file'])*or*die*("Не*могу*найти*".$system['ban_file']);
]);
foreach($ban*as*$key=>$value){
){
if($value==$value){
){
****echo("Вам*выдан*бан!");
);
****exit();
****exit();
}
}
}*
}*




(dimjan4 @ 27.3.2010, 13:48) *
($value==$value){
)

Поясни плиз вот это условие!!!! Че ты сделал? Поставил уловие, которое ВСЕГДЕ будет верно!!!
Функция file() вытаскивает все содержимое файла в массив, те остается только проверить, если значение в массиве. Для этого НЕ НУЖНО использвать цыкл!!!
Функция in_array() проверяет, есть ли ключ в массиве:
[PHP]
$ip_user=$_SERVER['REMOTE_ADDR'];
$ban=file("system/".$system['ban_file']) or die ("Не могу найти ".$system['ban_file']);
if(in_array($ip_user,$ban)){
echo "БАН";
exit();
}
[/PHP]
Вот так то лучше
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
dimjan4
dimjan4
Topic Starter сообщение 27.3.2010, 12:57; Ответить: dimjan4
Сообщение #3


Это у меня опечатка.
Делал вот так:
[PHP]($ip_user==$value){
)[/PHP]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZhukV
ZhukV
сообщение 27.3.2010, 13:01; Ответить: ZhukV
Сообщение #4


Проверяй лучше функцией in_array()!!!!
Тогда проблем не должно возникнуть!!!
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
dimjan4
dimjan4
Topic Starter сообщение 27.3.2010, 13:59; Ответить: dimjan4
Сообщение #5


А почему если файл пустой выводится сообщение "Не могу найти ip.db"?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZhukV
ZhukV
сообщение 27.3.2010, 14:10; Ответить: ZhukV
Сообщение #6


Потому что он пустой, и функция file вернет false, осколько массив не создастса, в результате сработает or die()!!!
Вот те полный верныый пример:
[PHP]
$ip_user=$_SERVER['REMOTE_ADDR'];
$ban=file("system/".$system['ban_file']);
if(is_array($ban)){
if(in_array($ip_user))echo "BAN";
}
else{
echo "NOT READE FILE. FILE NULL";
}
[/PHP]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
dimjan4
dimjan4
Topic Starter сообщение 27.3.2010, 17:00; Ответить: dimjan4
Сообщение #7


Warning: Wrong parameter count for in_array() in Z:\home\test1.ru\www\index.php on line 17
:niasilil:
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
EnterBack
EnterBack
сообщение 27.3.2010, 17:07; Ответить: EnterBack
Сообщение #8


а почему бы не сделать бан с БД ???
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZhukV
ZhukV
сообщение 27.3.2010, 18:53; Ответить: ZhukV
Сообщение #9


(dimjan4 @ 27.3.2010, 19:00) *
Warning: Wrong parameter count for in_array() in Z:\home\test1.ru\www\index.php

Значит массив пустой. Перед in_array() постав подавитель -- "@"
[PHP]
@in_array()
[/PHP]

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Крауд-маркетинг который работает | Эффективные Ру-ссылки
1 Azyuka 911 13.2.2024, 19:36
автор: tascha56
Открытая тема (нет новых ответов) Бан в адсенс
4 Baphomets 1454 5.2.2024, 11:26
автор: Skyworker
Открытая тема (нет новых ответов) Кто работает с партнерской программой eBay?
0 Stalser 1141 14.12.2021, 12:26
автор: Stalser
Открытая тема (нет новых ответов) Кто работает с партнеркой Кликбанк?
4 metvekot 1683 5.12.2021, 22:32
автор: adamsadriane
Открытая тема (нет новых ответов) Бесплатный аудит рекламы от специалиста с 20 летним стажем. Реклама не всегда работает.
Ваша реклама может быть больше!
0 AndyGray 6761 1.4.2021, 12:31
автор: AndyGray


 



RSS Текстовая версия Сейчас: 19.3.2024, 7:37
Дизайн