Забыли пароль?
Запросите новый здесь.

Автор темы: Pisatel
ID темы: 1723
Информация:
Тема содержит 6 сообщения, была просмотрена 3130 раз.
Просмотр темы
PHP-Fusion Russia » Веб-разработка » MySQL
 Распечатать тему
Не могу вывести условие при пустой таблице
Pisatel
Всем здравствуйте. Пишу небольшой плагин для фьюжн, и столкнулся с проблемой, которую никак не ожидал. Не могу вывести сообщение, если записей в таблице нет. Вот структура таблицы (из файла infusion.php):
Скачать исходники  Код
$inf_newtable[1] = DB_ALL_VISITS." (

   visit_id MEDIUMINT(8) NOT NULL AUTO_INCREMENT,

   visit_ip VARCHAR(45) NOT NULL,

   visit_date INT(11) NOT NULL,

PRIMARY KEY (visit_id)

   ) ENGINE=MyISAM;";





$inf_newtable[2] = DB_BLACK_LIST_IP." (

   ban_id MEDIUMINT(8) NOT NULL AUTO_INCREMENT,

   ban_ip VARCHAR(45) NOT NULL,

   ban_date INT(11) NOT NULL,

PRIMARY KEY (ban_id)

   ) ENGINE=MyISAM;";




А вот кусок запроса
Скачать исходники  Код
   $rows = dbcount("(visit_id)", DB_ALL_VISITS);
  if (!isset($_GET['rowstart']) || !isnum($_GET['rowstart'])) { $_GET['rowstart'] = 0; }

  if ($rows != 0) {

  $i = 0;


  $result = dbquery("SELECT visit_ip, visit_date FROM ".DB_ALL_VISITS."  ORDER BY visit_id DESC LIMIT ".$_GET['rowstart'].",100");

   echo "<table cellpadding='0' cellspacing='0' class='tbl-border' align='center' style='width:90%; margin-bottom:20px; text-align:center;'>\n<tr>\n";
 
  if (!dbrows($result)){
  echo "<td align='center' class='tbl1' colspan='2' style='text-align:center;'>".$locale['all_zero']."</td>\n";

} else {
//далее все нормально, идет вывод, если таблица не пуста



Что не так делаю?
 
Web
Polarfox
Скачать исходники  Код
if ($rows) {



мб?

сделай var_dump($rows) увидишь почему и как.
Всегда делайте backup перед изменениями | Указывайте свою версию в подписи/профиле. | Вся бесплатная тех. поддержка только на форуме
 
Pisatel
PolarFox, спасибо! Это чуть не то, но ты подсказал в верном направлении: эта проверка $rows вообще не нужна была! А я, блин, в другом месте копал... Еще раз благодарю. После небольшого теста (дос свыше 10 запросов за 10 секунд) скину на суд тест IP Autoban.
 
Web
Polarfox
за что будет банить? имхо для логинов это не очень, мне не нрав как оно в булке сделано например.
Всегда делайте backup перед изменениями | Указывайте свою версию в подписи/профиле. | Вся бесплатная тех. поддержка только на форуме
 
Pisatel
Банить будет за массу запросов. Согласись, в течении 10 секунд вызывать более десяти раз страницу (страницы) - это похоже на брут или дос. Известные пс игнорируются. Чем не защита от брутфорса авторизации, который все еще сотрясает сеть?
Например, недавно улетел в бан один ip. Гуглю- а это спам-робот. У меня на тестируемом сайте нет комментариев, форума и любых других возможностей оставлять сообщения. Но вот если бы были- мог бы теоретически пострадать. А так- система выдала ему 403 ошибку- и свободен.
 
Web
Polarfox
Как по мне пусть брутит, разве что жаль сервы.

Оффтопик Даже в битриксе это сделано настолько отвратно что я считаю этот путь неверным. Ненужным скорее даже.
А в битриксах пацаны успешные, авторитеты же ae

Всегда делайте backup перед изменениями | Указывайте свою версию в подписи/профиле. | Вся бесплатная тех. поддержка только на форуме
 

Поделиться этой темой
Социальные закладки: Vkontakte Odnoklassniki Mail.ru Facebook Google Tweet This
URL:
BBcode:
HTML:

Перейти на форум:
Похожие темы
Топ 5 пользователей форума
Zaxap Zaxap (1,090)   Vova Vova (877)   Pisatel Pisatel (678)   util util (666)   SchreiBear SchreiBear (625)