Javascript-форум (https://javascript.ru/forum/)
-   Ваши сайты и скрипты (https://javascript.ru/forum/project/)
-   -   Подмена номера (https://javascript.ru/forum/project/76084-podmena-nomera.html)

Julia1991 03.12.2018 14:15

Подмена номера
 
Здравствуйте! Подскажите как можно сделать авто подмену номера на сайте в зависимости от страны? Сайт на вордпресс

laimas 03.12.2018 14:37

Цитата:

Сообщение от Julia1991
как можно сделать авто подмену номера на сайте в зависимости от страны?

Какого номера? Вопрос для экстрасенсов? )

Julia1991 03.12.2018 14:40

Номер телефона на сайте должен меняться в зависимости от страны, через которую просматривается сайт

laimas 03.12.2018 14:46

Чей номер, сайта? Можно сделать на клиенте, если браузером поддерживается геолокация и она разрешена, в противном случае только если пользователь (зарегистрированный) указывает свою страну.
Сервером можно узнать если пользователь сообщил, ну или по базе IP.

Julia1991 03.12.2018 15:09

Подскажите скрипт, как узнать ip клиента и выдать ему соответственный номер телефона?

laimas 03.12.2018 15:18

$_SERVER['REMOTE_ADDR'], но это не обязательная гарантия, можно же и через прокси работать.

Nexus 03.12.2018 16:28

<?php

function getCountryByIP($ip=null){
  $ch=curl_init();
  $ip=$ip?:(
    isset($_SERVER['REMOTE_ADDR'])?
      $_SERVER['REMOTE_ADDR']:
      null
  );
  if(!$ip)
    return null;
        
  curl_setopt($ch, CURLOPT_URL, "http://ip-api.com/json/$ip"); 
  curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
  $response=curl_exec($ch);
  curl_close($ch); 
  
  $response=json_decode($response,true);
  if(!is_array($response) or !isset($response['country']))
    return null;
  
  
  return $response['country'];
};

echo getCountryByIP()==='Russia'?'Its Russia':'Its not Russia';

Julia1991 03.12.2018 16:55

Есть такой скрипт
<script>
    $(document).ready(function() {
        if (YMaps.location.country != '') {
            var youCountry = (YMaps.location.country);
            if (youCountry === "Украина"){
                $('.contact p span').text('+3 06252 5 19 41');
            }
            else if (youCountry === "Россия"){
                $('.contact p span').text('+55555555555');
            }
            else {
                $('.contact p span').text('+0 000 000 00 00');
            }
        }
    });
</script>

Как дополнить его условием на проверку включена ли геолокация в браузере?

laimas 03.12.2018 17:11

А зачем, если используется API Яндекса, который уже возвращает страну?

Julia1991 03.12.2018 17:37

То есть если поддержка геолокации не включена в браузере, то все равно скрипт будет выдавать ту информация, которая должна выводиться для определенного условия?


Часовой пояс GMT +3, время: 04:32.