Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
 
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> GEOIP
RootPM  
 ۩  [x] Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Местный житель
****

Профиль
Группа: Пользователь
Сообщений: 169
Пользователь №: 43443
На форуме: 2 месяца, 6 дней
Карма: 1




Предложения и замечания.

<?php
error_reporting(-1); // Уровень ошибок, перевести в 0

ob_start(); // Включение буферизации вывода

if(!empty($_GET['*'])) {

$host = "*"; // Адрес MySQL-сервера
$user = "*"; // Имя пользователя
$password = "*"; // Пароль
$db = "*"; // База данных

if($connect = mysqli_connect($host, $user, $password, $db)) { // Открыть и проверить соединение
mysqli_set_charset($connect, 'utf8'); // Кодировка клиента
$user_ip = $_GET['*']; // IP пользователя
$user_ip_security = mysqli_real_escape_string($connect, $user_ip);
$result = mysqli_query($connect, "SELECT * FROM `geo_ip` WHERE `ip` = '$user_ip_security' LIMIT 1");

if(mysqli_num_rows($result)) {
$finish = mysqli_fetch_array($result, MYSQLI_ASSOC);
$client = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><geo_api><region>".htmlspecialchars($finish['region'])."</region><city>".htmlspecialchars($finish['city'])."</city></geo_api>"; // Вывести результат из базы данных
mysqli_free_result($result); // Освободить память запроса
} else {

if ($url_zapros = file_get_contents("http://api.2ip.com.ua/geo.xml?ip=".$user_ip)) { // Запрос на сторонний ресурс

if($url_object = simplexml_load_string($url_zapros)) {

if($url_object->country_rus == "Россия") {
$region = trim(htmlspecialchars($url_object->region_rus));
$city = trim(htmlspecialchars($url_object->city_rus));
$region_db_security = mysqli_real_escape_string($connect, $region);
$city_db_security = mysqli_real_escape_string($connect, $city);

mysqli_query($connect, "INSERT INTO `geo_ip` (`ip`, `region`, `city`) VALUES ('$user_ip_security', '$region_db_security', '$city_db_security')"); // Сохранить в базу данных
$client = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><geo_api><region>".$region."</region><city>".$city."</city></geo_api>"; // Вывести результат полученный из URL
}
}
}
}


mysqli_close($connect); // Закрыть соединение
}
}


if((!headers_sent()) AND (!empty($client))) {
header('Content-Type: text/xml; charset=utf-8');
echo $client;
ob_end_flush(); // Сброс (отправка) буфера вывода и отключение буферизации вывода
} else {
ob_end_clean();
header('Content-Type: text/html; charset=utf-8');
header("HTTP/1.1 404 Not Found");
}
?>


Это сообщение отредактировал RootPM - 7.10.2016 - 16:33


--------------------
Все будет офигенно. Кому-то сразу, кому-то постепенно.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Игорь_Vasinsky  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Лысый и злой
******

Профиль
Журнал
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 25982
Пользователь №: 21350
На форуме: 6 лет, 8 месяцев, 21 день
Карма: 725

Не курю:
1 год, 2 месяца, 8 дней


Цитата
ob_start(); // Включение буферизации вывода

для чё?

для чё ваще в буфер это дело загонять?

ты не предусмотрел ни одного сбоя в работе своего кода, ни мускула, ни работа с файлами, ни с xml

ты веришь что всё будет как в швейцарских часиках?

в смысл сие даже не вникал. оно и не надо мне.


--------------------
Халявные ответы кончились.
Если нужен готовый код - готовьтесь заплатить.
Райкин тоже был артист

Возле дома был сарай
А когда всё хорошо
Можно просто покурить

user posted image
http://ufa102.xyz/
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
RootPM  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Местный житель
****

Профиль
Группа: Пользователь
Сообщений: 169
Пользователь №: 43443
На форуме: 2 месяца, 6 дней
Карма: 1




Попробуйте запустить, если возникнут ошибки - код не выполнится и будет отправлено 404

Это сообщение отредактировал RootPM - 7.10.2016 - 16:48


--------------------
Все будет офигенно. Кому-то сразу, кому-то постепенно.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Игорь_Vasinsky  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Лысый и злой
******

Профиль
Журнал
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 25982
Пользователь №: 21350
На форуме: 6 лет, 8 месяцев, 21 день
Карма: 725

Не курю:
1 год, 2 месяца, 8 дней


нет. у тебя только в 2х случаях 404

Цитата
if((!headers_sent()) AND (!empty($client))) {

а в ходе работы сбой ты не контролируешь


--------------------
Халявные ответы кончились.
Если нужен готовый код - готовьтесь заплатить.
Райкин тоже был артист

Возле дома был сарай
А когда всё хорошо
Можно просто покурить

user posted image
http://ufa102.xyz/
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
RootPM  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Местный житель
****

Профиль
Группа: Пользователь
Сообщений: 169
Пользователь №: 43443
На форуме: 2 месяца, 6 дней
Карма: 1




Попробуйте запустить. smile.gif

Это сообщение отредактировал RootPM - 7.10.2016 - 17:00


--------------------
Все будет офигенно. Кому-то сразу, кому-то постепенно.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
RootPM  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Местный житель
****

Профиль
Группа: Пользователь
Сообщений: 169
Пользователь №: 43443
На форуме: 2 месяца, 6 дней
Карма: 1




Цитата (Игорь_Vasinsky @ 7.10.2016 - 16:34)
ты не предусмотрел ни одного сбоя в работе своего кода, ни мускула, ни работа с файлами, ни с xml

ты веришь что всё будет как в швейцарских часиках?

Если не трудно можете привести пример - как правильно.


--------------------
Все будет офигенно. Кому-то сразу, кому-то постепенно.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Astin  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 592
Пользователь №: 42519
На форуме: 9 месяцев, 23 дня
Карма: 7




Запрос к другому сервису лучше наверно через курл сделать, ну и если запрос выполнен удачно то пишем в бд, если неудачно то что то делаем, ну и вот в этом духе.
Ты можешь быть на 100% уверен что запрос на другой ресурс даст тебе ответ?
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
RootPM  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Местный житель
****

Профиль
Группа: Пользователь
Сообщений: 169
Пользователь №: 43443
На форуме: 2 месяца, 6 дней
Карма: 1




Astin

Если произойдёт ошибка, то ничего не произойдёт. А клиенту отправим - 404

if ($url_zapros = file_get_contents("http://api.2ip.com.ua/geo.xml?ip=".$user_ip)) { // Запрос на сторонний ресурс


Это сообщение отредактировал RootPM - 19.10.2016 - 14:07


--------------------
Все будет офигенно. Кому-то сразу, кому-то постепенно.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темы Ответ в темуСоздание новой темыСоздание опроса