Как получить и сохранить IP-адрес клиента, местоположение и другие данные в PHP?

#php #phpmyadmin

#php #phpmyadmin

Вопрос:

Я использую этот код для получения информации о клиенте. Этот код работает, но выдает некоторые ошибки. Пожалуйста, проверьте мой код и помогите мне исправить его. И, кроме того: как сохранить пользовательские данные в MySQL? Яввожу здесь описание изображения, буду вам очень благодарен.Ниже приведены ошибки. Уведомление: Неопределенный индекс: HTTP_REFERER Уведомление: Неопределенное свойство: stdClass:: $loc в уведомлении: Неопределенное свойство: stdClass:: $org в уведомлении: Неопределенное свойство: stdClass::$city в уведомлении: Неопределенное свойство: stdClass::$region в уведомлении: Неопределенное свойство: stdClass::$ country в уведомлении: Неопределенный индекс: HTTP_REFERER в уведомлении: Неопределенное свойство: stdClass::$loc в уведомлении: Неопределенное свойство: stdClass:: $org в уведомлении: Неопределенное свойство: stdClass::$city в уведомлении: Неопределенное свойство: stdClass::$region в уведомлении: Неопределенное свойство: stdClass::$country в

 <?php
  // This program generates a web pages that gets 
  // the user's information, saves it to a file, 
  // and displays it on the web page.
  // Created by Mitchell Robinson.
  // 27 July, 2014.
  
  // Name of the ip address log.
  $outputWebBug = 'iplog.csv';

  // Get the ip address and info about client.
  @ $details = json_decode(file_get_contents("http://ipinfo.io/{$_SERVER['REMOTE_ADDR']}/json"));
  @ $hostname=gethostbyaddr($_SERVER['REMOTE_ADDR']);
  
  // Get the query string from the URL.
  $QUERY_STRING = preg_replace("%[^/a-zA-Z0-9@,_=]%", '', $_SERVER['QUERY_STRING']);
  
  // Write the ip address and info to file.
  @ $fileHandle = fopen($outputWebBug, "a");
  if ($fileHandle)
  {
    $string ='"'.$QUERY_STRING.'","' // everything after "?" in the URL
      .$_SERVER['REMOTE_ADDR'].'","' // ip address
      .$hostname.'","' // hostname
      .$_SERVER['HTTP_USER_AGENT'].'","' // browser and operating system
      .$_SERVER['HTTP_REFERER'].'","' // where they got the link for this page
      .$details->loc.'","' // latitude, longitude
      .$details->org.'","' // internet service provider
      .$details->city.'","'  // city
      .$details->region.'","' // state
      .$details->country.'","' // country
      .date("D dS M,Y h:i a").'"' // date
      ."n"
      ;
     $write = fputs($fileHandle, $string);
    @ fclose($fileHandle);
  }

  $string = '<code>'
    .'<p>'.$QUERY_STRING.'</p><p>IP address:amp;nbsp;amp;nbsp;amp;nbsp;amp;nbsp;amp;nbsp;'
    .$_SERVER['REMOTE_ADDR'].'</p><p>Hostname:amp;nbsp;amp;nbsp;amp;nbsp;amp;nbsp;amp;nbsp;amp;nbsp;amp;nbsp;'
    .$hostname.'</p><p>Browser and OS:amp;nbsp;'
    .$_SERVER['HTTP_USER_AGENT'].'</p><p>'
    .$_SERVER['HTTP_REFERER'].'</p><p>Coordinates:amp;nbsp;amp;nbsp;amp;nbsp;amp;nbsp;'
    .$details->loc.'</p><p>ISP provider:amp;nbsp;amp;nbsp;amp;nbsp;'
    .$details->org.'</p><p>City:amp;nbsp;amp;nbsp;amp;nbsp;amp;nbsp;amp;nbsp;amp;nbsp;amp;nbsp;amp;nbsp;amp;nbsp;amp;nbsp;amp;nbsp;'
    .$details->city.'</p><p>State:amp;nbsp;amp;nbsp;amp;nbsp;amp;nbsp;amp;nbsp;amp;nbsp;amp;nbsp;amp;nbsp;amp;nbsp;amp;nbsp;'
    .$details->region.'</p><p>Country:amp;nbsp;amp;nbsp;amp;nbsp;amp;nbsp;amp;nbsp;amp;nbsp;amp;nbsp;amp;nbsp;'
    .$details->country.'</p><p>Date:amp;nbsp;amp;nbsp;amp;nbsp;amp;nbsp;amp;nbsp;amp;nbsp;amp;nbsp;amp;nbsp;amp;nbsp;amp;nbsp;amp;nbsp;'
    .date("D dS M,Y h:i a").'</p></code>'
    ;

  echo '<!DOCTYPE html><html><head><title>Who Am I?</title></head><body>';
  echo $string;
  echo '</body></html>';
?>
  

Комментарии:

1. но выдает некоторые ошибки , какую ошибку выдаете вы ?, покажите нам .

2. Пожалуйста, вставьте ошибку

3. @GNassro я уже прикрепил изображение с ошибками, пожалуйста, проверьте это..

4. я предлагаю вам удалить @ symbole, чтобы проверить, нет ли другой ошибки

5. Пожалуйста, отредактируйте свой вопрос и добавьте пояснения. Не указывайте их в комментариях.

Ответ №1:

поместите это в свой файл .htaccess

php_flag display_errors отключен