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]   

> Без описания
Lolya
Отправлено: 21 Мая, 2018 - 20:37:35
Post Id


Гость


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


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




Видел такую возможность на нескольких сайтах, если нет IP в базе сайта, то просто перенаправляет сразу на другой какой-то адресс.

Пытаюсь реализовать под себя и ошибка выходит все время. кто может подсказать в чем проблема? Заранее спасибо. Улыбка

В базе есть таблица users, там есть ячейка ip. Вот запрос что я пытаюсь сделать:
PHP:
скопировать код в буфер обмена
  1. $ip = getip();
  2. $row = get_row_count("users","WHERE ip=".sqlesc($ip));
  3. if (!$row) {
  4. print("<html><head><meta http-equiv=refresh content='20;url=http://bublya'></head></html>");
  5. }


Где ошибка?
 
 Top
Vladimir Kheifets
Отправлено: 21 Мая, 2018 - 21:06:29
Post Id



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


Покинул форум
Сообщений всего: 879
Дата рег-ции: Март 2017  
Откуда: Германия, Бавария


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




Lolya пишет:
Видел такую возможность на нескольких сайтах, если нет IP в базе сайта, то просто перенаправляет сразу на другой какой-то адресс.

Пытаюсь реализовать под себя и ошибка выходит все время. кто может подсказать в чем проблема? Заранее спасибо. Улыбка

В базе есть таблица users, там есть ячейка ip. Вот запрос что я пытаюсь сделать:
PHP:
скопировать код в буфер обмена
  1. $ip = getip();
  2. $row = get_row_count("users","WHERE ip=".sqlesc($ip));
  3. if (!$row) {
  4. print("<html><head><meta http-equiv=refresh content='20;url=http://bublya'></head></html>");
  5. }

Где ошибка?

Добрый вечер!
Конечно важно проверить, в каком формате у Вас хранится ip
Возможно, что не хватает ковычек в фильтре и должно быть:

Удачи!
 
 Top
Lolya
Отправлено: 21 Мая, 2018 - 21:12:48
Post Id


Гость


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


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




Vladimir Kheifets пишет:

Добрый вечер!
Конечно важно проверить, в каком формате у Вас хранится ip
Возможно, что не хватает ковычек в фильтре и должно быть:



Хранится так записи в ячейке ip с varchar(15):

(Отредактировано автором: 21 Мая, 2018 - 22:07:31)

 
 Top
Vladimir Kheifets
Отправлено: 22 Мая, 2018 - 08:28:52
Post Id



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


Покинул форум
Сообщений всего: 879
Дата рег-ции: Март 2017  
Откуда: Германия, Бавария


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




Lolya пишет:
Vladimir Kheifets пишет:

Добрый вечер!
Конечно важно проверить, в каком формате у Вас хранится ip
Возможно, что не хватает ковычек в фильтре и должно быть:


Хранится так записи в ячейке ip с varchar(15):

Добрый день!
Попробуйте добавить ковычки.
Совеую Вам обратить внимание на то, что есть не только ареса IpV4(например, 127.0.0.1),
но и IpV6 (см. https://stackoverflow[dot]com/questi[dot][dot][dot]dresses-in-mysql )
Кроме того, важно учитывать, что есть динамические адреса и один и тот же клиент может заходить под разными адресами.
Поэтому надёжнее использовать куки.
Удачи!

(Отредактировано автором: 22 Мая, 2018 - 08:31:06)

 
 Top
Lolya
Отправлено: 22 Мая, 2018 - 12:38:51
Post Id


Гость


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


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




Vladimir Kheifets

Спасибо за ответы, разобрался. Все работает нормально.

код вот этот нужен был:

PHP:
скопировать код в буфер обмена
  1. $ip = getip();
  2. $ips = str_replace(".", ".", $ip);
  3. $r = @mysql_query("SELECT * FROM users WHERE ip='".unesc($ips)."'") or sqlerr(__FILE__, __LINE__);
  4. $user = mysql_fetch_array($r);
  5. if (!$user){
  6. print("<html><head><meta http-equiv=refresh content='0;url=http://bublya'></head></html>");
  7. }else{
  8. print("<html><head><meta http-equiv=refresh content='0;url=$DEFAULTBASEURL'></head>
  9. }
  10.  

(Отредактировано автором: 22 Мая, 2018 - 12:41:49)

 
 Top
Vladimir Kheifets
Отправлено: 22 Мая, 2018 - 13:18:32
Post Id



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


Покинул форум
Сообщений всего: 879
Дата рег-ции: Март 2017  
Откуда: Германия, Бавария


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




Lolya пишет:
Vladimir Kheifets

Спасибо за ответы, разобрался. Все работает нормально.

код вот этот нужен был:

PHP:
скопировать код в буфер обмена
  1. $ip = getip();
  2. $ips = str_replace(".", ".", $ip);
  3. $r = @mysql_query("SELECT * FROM users WHERE ip='".unesc($ips)."'") or sqlerr(__FILE__, __LINE__);
  4. $user = mysql_fetch_array($r);
  5. if (!$user){
  6. print("<html><head><meta http-equiv=refresh content='0;url=http://bublya'></head></html>");
  7. }else{
  8. print("<html><head><meta http-equiv=refresh content='0;url=$DEFAULTBASEURL'></head>
  9. }
  10.  


Извините, не понял для чего это:
$ips = str_replace(".", ".", $ip);
будет тот же результат если написать
$ips = $ip;
Советую Вам заменить неактуальные mysql_query, mysql_fetch_array,
которые исключены начиная с версии PHP7.0.0, на mysqli_query, mysqli_fetch_array
 
 Top
Lolya
Отправлено: 23 Мая, 2018 - 11:19:25
Post Id


Гость


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


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




Vladimir Kheifets пишет:
Извините, не понял для чего это:
$ips = str_replace(".", ".", $ip);
будет тот же результат если написать
$ips = $ip;
Советую Вам заменить неактуальные mysql_query, mysql_fetch_array,
которые исключены начиная с версии PHP7.0.0, на mysqli_query, mysqli_fetch_array


Для точного поиска с точками, хотя если убрать то вроде работает. Не понял
К сожалению mysqli у меня не прописана в скрипте, НЕ работает она, только mysql или sql.
 
 Top
Vladimir Kheifets
Отправлено: 23 Мая, 2018 - 11:42:38
Post Id



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


Покинул форум
Сообщений всего: 879
Дата рег-ции: Март 2017  
Откуда: Германия, Бавария


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




Lolya пишет:
Vladimir Kheifets пишет:
Извините, не понял для чего это:
$ips = str_replace(".", ".", $ip);
будет тот же результат если написать
$ips = $ip;
Советую Вам заменить неактуальные mysql_query, mysql_fetch_array,
которые исключены начиная с версии PHP7.0.0, на mysqli_query, mysqli_fetch_array

Для точного поиска с точками, хотя если убрать то вроде работает. Не понял
К сожалению mysqli у меня не прописана в скрипте, НЕ работает она, только mysql или sql.

Добрый день!
И должен работать без str_replace т.к. на "точный поиска с точками" это никак не влияет.
mysqli не прописана в скрипте - непонятно.
Попробуйте вставить в скрипт
и посмотрите какая у Вас версия PHP и указан ли там MysqlI Support
Удачи!

(Отредактировано автором: 23 Мая, 2018 - 11:43:51)

 
 Top
Lolya
Отправлено: 24 Мая, 2018 - 09:27:33
Post Id


Гость


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


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




Я имею в виду что в самом скрипте сайт не прописана эта функция. Сайт у меня сейчас стоит временно на Опен Сервер, пока его гоняю и дорабатываю.

Вот что там прописано только:
PHP:
скопировать код в буфер обмена
  1. function sql_query($query) {
  2.         global $queries, $query_stat, $querytime;
  3.         $queries++;
  4.         $query_start_time = timer(); // Start time
  5.         $result = mysql_query($query);
  6.         $query_end_time = timer(); // End time
  7.         $query_time = ($query_end_time - $query_start_time);
  8.         $querytime = $querytime + $query_time;
  9.         $query_stat[] = array("seconds" => $query_time, "query" => $query);
  10.         return $result;
  11. }


Как мне поменять или добавить в скрипт для работы mysqli_query, mysqli_fetch_array ?
Прикреплено изображение (Нажмите для увеличения)
10.png
 
 Top
Vladimir Kheifets
Отправлено: 24 Мая, 2018 - 12:25:28
Post Id



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


Покинул форум
Сообщений всего: 879
Дата рег-ции: Март 2017  
Откуда: Германия, Бавария


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




Lolya пишет:
Как мне поменять или добавить в скрипт для работы mysqli_query, mysqli_fetch_array ?

Добрый день!
1. До первого запроса в каждом скрипте попробуйте добоваить include_once("db.php");
Спойлер (Отобразить)

2. mysqli_query, mysqli_fetch_array
Спойлер (Отобразить)

(Отредактировано автором: 24 Мая, 2018 - 12:26:09)

 
 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