сохранение местоположения зашедшего на сайт

Discussion in 'PHP' started by 380935901807hd, 12 Feb 2018.

  1. 380935901807hd

    380935901807hd New Member

    Joined:
    21 Oct 2017
    Messages:
    53
    Likes Received:
    1
    Reputations:
    0
    Добрый вечер , может кто подскажет как сохранить ип адрес человека который зашел на сайт ( ф файл или в базу данных ) или если можно скрипт который сохранит информацию о местоположнии даного человека в файл .
     
  2. spiner

    spiner Member

    Joined:
    8 Jul 2015
    Messages:
    74
    Likes Received:
    56
    Reputations:
    4
    Code:
    <?PHP
      file_put_contents("visitors_ip.txt", $_SERVER['REMOTE_ADDR'] . "\n", FILE_APPEND);
    ?>
    
     
    380935901807hd likes this.
  3. 380935901807hd

    380935901807hd New Member

    Joined:
    21 Oct 2017
    Messages:
    53
    Likes Received:
    1
    Reputations:
    0
    а вот если вот это переделать так чтоб запроса небыло и ненужно было нажимать на кнопку и небыло ничего этгго видно и вся информация а именно долгота и шерота записывалась в файл https://jsfiddle.net/dannymarkov/ubrvm4ao/ вот тут исходники
     
  4. 380935901807hd

    380935901807hd New Member

    Joined:
    21 Oct 2017
    Messages:
    53
    Likes Received:
    1
    Reputations:
    0
    HTML:
    <!DOCTYPE html>
    <html>
    <head>
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <meta name="robots" content="noindex, nofollow">
      <meta name="googlebot" content="noindex, nofollow">
      <meta name="viewport" content="width=device-width, initial-scale=1">
      <script type="text/javascript" src="/js/lib/dummy.js"></script>
        <link rel="stylesheet" type="text/css" href="/css/result-light.css">
     
          <link rel="stylesheet" type="text/css" href="https://bootswatch.com/flatly/bootstrap.min.css">
        
     
        
          <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
        
     
        
          <script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?key=AIzaSyAWyCb1Xq7gDRWSWRnOAVF3VsBz9TQW-og"></script>
        
     
        
          <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/gmaps.js/0.4.24/gmaps.min.js"></script>
        
     
    
      <style type="text/css">
        .container {
      max-width: 980px;
      text-align: center;
      margin: 20px auto;
    }
    
    h1 {
      margin-bottom: 20px;
    }
    
    #geocoding_form {
      margin: 40px auto 40px;
    }
    
    .input-group {
      margin-left: 4%;
    }
    
    .find-me.btn:focus {
      border-color: transparent;
      outline: 0;
    }
    
    .coordinates {
      font-size: 18px;
      opacity: 0;
      margin-bottom: 40px;
    }
    
    .no-browser-support {
      font-size: 18px;
      opacity: 0;
    }
    
    .coordinates b:first-child {
      margin-right: 15px;
    }
    
    .visible {
      opacity: 1;
    }
    
    .map-overlay {
      max-width: 600px;
      height: 400px;
      margin: 0 auto;
      background-color: #fff;
      position: relative;
      border-radius: 2px;
    }
    
    #map {
      max-width: 550px;
      height: 400px;
      margin: 0 auto;
    }
    
      </style>
    
      <title>Geolocation API Demo by dannymarkov</title>
    
     
        
    
    
    
    
    <script type='text/javascript'>//<![CDATA[
    window.onload=function(){
    var findMeButton = $('.find-me');
    
    // Check if the browser has support for the Geolocation API
    if (!navigator.geolocation) {
    
      findMeButton.addClass("disabled");
      $('.no-browser-support').addClass("visible");
    
    } else {
    
      findMeButton.on('click', function(e) {
    
        e.preventDefault();
    
        navigator.geolocation.getCurrentPosition(function(position) {
    
          // Get the coordinates of the current possition.
          var lat = position.coords.latitude;
          var lng = position.coords.longitude;
    
          $('.latitude').text(lat.toFixed(3));
          $('.longitude').text(lng.toFixed(3));
          $('.coordinates').addClass('visible');
    
          // Create a new map and place a marker at the device location.
          var map = new GMaps({
            el: '#map',
            lat: lat,
            lng: lng
          });
    
          map.addMarker({
            lat: lat,
            lng: lng
          });
    
        });
    
      });
    
    }
    
    }//]]>
    
    </script>
    
     
    </head>
    
    <body>
      <div class="container">
    
      <h1>Geolocation Demo</h1>
    
      <form id="geocoding_form" class="form-horizontal">
        <div class="form-group">
          <div class="col-xs-12 col-md-6 col-md-offset-3">
            <button type="button" class="find-me btn btn-info btn-block">Find My Location</button>
          </div>
        </div>
      </form>
    
      <p class="no-browser-support">Sorry, the Geolocation API isn't supported in Your browser.</p>
      <p class="coordinates">Latitude: <b class="latitude">42</b> Longitude: <b class="longitude">32</b></p>
    
      <div class="map-overlay">
        <div id="map"></div>
      </div>
    
    </div>
    
     
      <script>
      // tell the embed parent frame the height of the content
      if (window.parent && window.parent.parent){
        window.parent.parent.postMessage(["resultsFrame", {
          height: document.body.getBoundingClientRect().height,
          slug: "ubrvm4ao"
        }], "*")
      }
    </script>
    
    </body>
    
    </html>
    
     
    К примеру вот такой код , нужно зделать все автоматически , человек зашел , ничего не нажимал кроме как подтвердить местоположения , и все даные широты и долготы записать в файл это возможно?
     
  5. spiner

    spiner Member

    Joined:
    8 Jul 2015
    Messages:
    74
    Likes Received:
    56
    Reputations:
    4
    HTML:
    Code:
    <html>
    <head>
    <title>User Location Test</title>
    <script type="text/javascript" src="//code.jquery.com/jquery-3.3.1.min.js"></script>
    <script type="text/javascript">
    if (navigator.geolocation) {
      navigator.geolocation.getCurrentPosition(function(position) {
        var lat = position.coords.latitude;
        var lng = position.coords.longitude;
        $.get('./get-user.php?lat=' + lat.toFixed(4) + '&lng=' + lng.toFixed(4), function(){ $('div.hidden').removeClass('hidden'); });
      });
    }
    </script>
    <style type="text/css">
      .hidden {
        display: none;
      }
    </style>
    </head>
    <body>
      <div class="hidden">Your IP and Location was catched! See it <a href="visitors.txt">here</a></div>
    </body>
    </html>
    
    get-user.php :
    Code:
    <?php
        if (isset($_GET['lat']) && isset($_GET['lng']))
        {
            $user_data = "IP: " . $_SERVER['REMOTE_ADDR'] . "\n";
            $user_data .= "Latitude: " . $_GET['lat'] . "\n";
            $user_data .= "Longitude: " . $_GET['lng'] . "\n";
            $user_data .= "=============================================================";
            file_put_contents("visitors.txt", $user_data . "\n", FILE_APPEND);
        }
    ?>
    
    собирает в файл visitors.txt IP и данные местоположения (широта и долгота)
     
    crlf and 380935901807hd like this.
  6. 380935901807hd

    380935901807hd New Member

    Joined:
    21 Oct 2017
    Messages:
    53
    Likes Received:
    1
    Reputations:
    0


    БОММБА клас вообще прекрасно просто ) с уведомлениям о разрешить я так понял ничего не сделать , или с ним и точніе координаті или без него и только город. )) ввобще прекрасно , вы боги своего дела

    да ну не .. это как будто сам бог написал вообще улет
     
    #6 380935901807hd, 13 Feb 2018
    Last edited: 13 Feb 2018
  7. Zmii666

    Zmii666 New Member

    Joined:
    4 Sep 2012
    Messages:
    42
    Likes Received:
    0
    Reputations:
    0
    блин у меня чет не пашет ((( как структура файлов должна быть имена и расширения что работала?
     
  8. spiner

    spiner Member

    Joined:
    8 Jul 2015
    Messages:
    74
    Likes Received:
    56
    Reputations:
    4
    HTML может быть назван как угодно, PHP файл get-user.php (что было указано), но для работы GeoLocations необходимо SSL соединение (https), без него политика конфиденциальности браузера не позволяет выполнять этот код
     
    Zmii666 likes this.
  9. 380935901807hd

    380935901807hd New Member

    Joined:
    21 Oct 2017
    Messages:
    53
    Likes Received:
    1
    Reputations:
    0
    спасибо , был бы рад посмотреть , но если так же нужно подтверждение на передачу гео - данных тогда нету смысла с бд или без
     
  10. 380935901807hd

    380935901807hd New Member

    Joined:
    21 Oct 2017
    Messages:
    53
    Likes Received:
    1
    Reputations:
    0
    только местоположения . я пытался уже с разными скриптами но пока только тот что тут был представлен самый комфортный а так же еще я наткнулся на http://maps.google.com/maps?hl=en&q=My+Location и это работает без запроса но как скрыть запрос или же в случае отмены пока мыслей нету.