|
|
|
| Пытаюсь написать скромный бан лист, все хорошо но есть маленькая проблема
В $prich получаю "Array"
как правельно пользоватся этим циклом?
<?php
$rip = $HTTP_SERVER_VARS['REMOTE_ADDR'];
$ban['enemy']['Ну ты нубка'] = "127.0.0.1";
$ban['hacker']['harnen'] = "127.0.0.2";
$ban['chiter']['gogo'] = "192.168.14.2";
$ban['quaker']['gamer'] = "192.168.14.47";
$ban['loserr']['mat'] = "127.0.0.166";
$ban['sux']['zloy'] = "172.30.14.47";
foreach($ban as $name => $prich)
{
foreach($prich as $banip)
{
if($rip == $banip)
{
echo "Sorry <b>".$name."</b> твой IP <u>".$banip."</u> забанен! Причина: ".$prich;
exit;
}
}
}
echo "IP: ".$rip;
?>
|
| |
|
|
|
|
|
|
|
для: EnemY
(11.05.2006 в 22:40)
| | Всё правильно, $prich и есть массив, т.к. массив $ban двумерный. Я так понял, что у вас возникли проблемы с выводом причины бана ? А где хранится эта самая причина бана - я так и не поянл :) Поясните пожалуйста. | |
|
|
|
|
|
|
|
для: DDK
(11.05.2006 в 22:46)
| | Пытался $ban['Имя']['причина'] = "Айпи"; или вообше все не так? | |
|
|
|
|
|
|
|
для: EnemY
(11.05.2006 в 22:48)
| | Ну почему, можно и так конечно :) Вот исправленный код:
<?php
$rip = $HTTP_SERVER_VARS['REMOTE_ADDR'];
$ban['enemy']['Ну ты нубка'] = "127.0.0.1";
$ban['hacker']['harnen'] = "127.0.0.2";
$ban['chiter']['gogo'] = "192.168.14.2";
$ban['quaker']['gamer'] = "192.168.14.47";
$ban['loserr']['mat'] = "127.0.0.166";
$ban['sux']['zloy'] = "172.30.14.47";
foreach($ban as $name => $subarr)
{
foreach($subarr as $prich => $banip)
{
if($rip == $banip)
{
echo "Sorry <b>".$name."</b> твой IP <u>".$banip."</u> забанен! Причина: ".$prich;
exit;
}
}
}
echo "IP: ".$rip;
?>
|
| |
|
|
|
|
|
|
|
для: EnemY
(11.05.2006 в 22:48)
| | Спасиб!! | |
|
|
|
|
|
|
|
для: EnemY
(11.05.2006 в 22:57)
| | Но вообще, это плохой вариант, т.к. вы используете русские символы в именах ключей массива... А это не по стандарту :) Работать этот код будет только на PHP с русской локалью. | |
|
|
|