Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Сравнение IP адресов

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Сравнение IP адресов
s3ga
Отправлено: 09 Июня, 2014 - 12:12:38
Post Id


Частый гость


Покинул форум
Сообщений всего: 152
Дата рег-ции: Март 2013  


Помог: 0 раз(а)




Здраствуйте, помогите решить проблему,

PHP:
скопировать код в буфер обмена
  1. $visitor_ip = $_SERVER['REMOTE_ADDR'];
  2. $date = date("Y-m-d");
  3.  
  4.     // Заносим в базу IP-адрес текущего посетителя
  5. mysql_query("INSERT INTO `ip` (`ip_address`,`date`) VALUES ((INET_ATON('$visitor_ip')), '$date')");
  6.  
  7.  $current_ip = mysql_query("SELECT `ip_id` FROM `ip` WHERE `ip_address`= INET_ATON('$visitor_ip')");
не происходит сравнение, я кран, сам найти ошибку не смог.

(Отредактировано автором: 09 Июня, 2014 - 14:17:53)

 
 Top
eai
Отправлено: 10 Июня, 2014 - 10:19:11
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 521
Дата рег-ции: Сент. 2009  
Откуда: Петроград


Помог: 10 раз(а)




А почему вы уверены что сравнения не происходит ?
 
 Top
esterio
Отправлено: 10 Июня, 2014 - 11:40:57
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


Помог: 127 раз(а)




ну так в переменной $current_ip у вас не сам результат, а ресурс на результат
 
 Top
LIME
Отправлено: 10 Июня, 2014 - 11:49:30
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




причем даже не на ip а на его id
 
 Top
s3ga
Отправлено: 10 Июня, 2014 - 14:00:58
Post Id


Частый гость


Покинул форум
Сообщений всего: 152
Дата рег-ции: Март 2013  


Помог: 0 раз(а)




Подскажите как правильно произвести сравнение?
ПОчему я уверен что не происходит сравнение? - потому что в базу всё равно добавляются одинаковые ip
PHP:
скопировать код в буфер обмена
  1.  $current_ip = mysql_query("SELECT `id_ip` FROM `ip` WHERE `ip_address`= INET_ATON('$visitor_ip')");
  2.                 if (mysql_num_rows($current_ip) == 1)
  3.     {
  4.                 exit();
  5.     }
  6.                 else
  7.     {
  8.                         mysql_query("INSERT INTO `ip` (`ip_address`,`date`) VALUES ((INET_ATON('$visitor_ip')), '$date')");
  9.                         mysql_query("UPDATE `articles` SET `count`='count'+1  WHERE `id`='$get_id'");
  10.     }
  11. }

(Отредактировано автором: 10 Июня, 2014 - 14:01:46)

 
 Top
esterio
Отправлено: 10 Июня, 2014 - 14:57:08
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


Помог: 127 раз(а)




s3ga пишет:
$get_id

откуда взялась переменная
 
 Top
s3ga
Отправлено: 11 Июня, 2014 - 08:55:44
Post Id


Частый гость


Покинул форум
Сообщений всего: 152
Дата рег-ции: Март 2013  


Помог: 0 раз(а)




esterio пишет:
s3ga пишет:
$get_id

откуда взялась переменная

PHP:
скопировать код в буфер обмена
  1. if ($_GET['id']) {
  2.                                         $get_id = (int)$_GET['id'];                                    
  3.                                         $query = mysql_query("SELECT id,title,category,content,add_date,image FROM articles
  4.                                         WHERE `id` = '$get_id' LIMIT 1");
  5.                                         if ($query === false) {
  6.                                         echo '<p style="color:red">Database error</p>';
  7.                                         } else {
  8.         $visitor_ip = $_SERVER['REMOTE_ADDR'];
  9.         $date = date("Y-m-d");
  10.         $visit = mysql_query("SELECT `id_ip` FROM `ip` WHERE `date`='$date'") or die ("Проблема при подключении к БД");
  11.                 if (mysql_num_rows($visit) == 0)
  12.         {
  13.                         mysql_query("DELETE FROM `ip`");
  14.                         mysql_query("INSERT INTO `ip` (`ip_address`,`date`) VALUES ((INET_ATON('$visitor_ip')), '$date')");
  15.         }
  16.                 else
  17.         {
  18.     $current_ip = mysql_query("SELECT `id_ip` FROM `ip` WHERE `ip_address`= INET_ATON('$visitor_ip')");
  19.                 if (mysql_num_rows($current_ip) == 1)
  20.     {
  21.                 exit();
  22.     }
  23.                 else
  24.     {
  25.                         mysql_query("INSERT INTO `ip` (`ip_address`,`date`) VALUES ((INET_ATON('$visitor_ip')), '$date')");
  26.                         mysql_query("UPDATE `articles` SET `count`='count'+1  WHERE `id`='$get_id'");
  27.     }
  28. }
 
 Top
s3ga
Отправлено: 15 Июня, 2014 - 17:17:28
Post Id


Частый гость


Покинул форум
Сообщений всего: 152
Дата рег-ции: Март 2013  


Помог: 0 раз(а)




Почистил кэш,и убрал с 21 строчки
всё заработало,тему можно закрывать всем спасибо
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB