@KunaRaiden

Как получить ip адрес с формы на сайте в телеграм чат?

Здравствуйте!
Имеется форма для отправки заявок с сайта в телеграм чат.
Всё работает.
Пожалуйста, подскажите возможность получать ip адрес того, кто отправляет заявку с формы на сайте. Спасибо.
Вот обработчик этой формы.
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
  $args = filter_input_array(INPUT_POST, FILTER_SANITIZE_STRING);
  if (!empty($args['uname'])){
    $arr = [
      "Заявка"=>$args['utheme'],
      "Имя"=>!empty($args['uname']) ? $args['uname'] : '',
      "Телефон: "=>!empty($args['uphone']) ? $args['uphone'] : '',
    ];
    $token = "";
    $chat_id = "";
    $txt="";
    foreach($arr as $key => $value) {
      $txt .= "<b>".$key."</b> ".$value."%0A";
    };
    $sendToTelegram = fopen("https://api.telegram.org/bot{$token}/sendMessage?chat_id={$chat_id}&parse_mode=html&text={$txt}","r");
    if ($sendToTelegram) {
      echo '<p class="success">Ваша заявка принята.</p>';
      return true;
    } else {
      echo '<p class="fail"><b>Ошибка.</b></p>';
    }
  } else {
    echo '<p class="fail">Ошибка. Заполните обязательные поля.</p>';
  }
} else {
  header ("Location: /");
}
  • Вопрос задан
  • 313 просмотров
Решения вопроса 1
zkrvndm
@zkrvndm
Архитектор решений
Очевидно, как-то так:
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
  $args = filter_input_array(INPUT_POST, FILTER_SANITIZE_STRING);
  if (!empty($args['uname'])){
    $arr = [
      "Заявка"=>$args['utheme'],
      "Имя"=>!empty($args['uname']) ? $args['uname'] : '',
      "Телефон: "=>!empty($args['uphone']) ? $args['uphone'] : '',
      "IP адрес:" => $_SERVER['REMOTE_ADDR'] 
    ];
    $token = "";
    $chat_id = "";
    $txt="";
    foreach($arr as $key => $value) {
      $txt .= "<b>".$key."</b> ".$value."%0A";
    };
    $sendToTelegram = fopen("https://api.telegram.org/bot{$token}/sendMessage?chat_id={$chat_id}&parse_mode=html&text={$txt}","r");
    if ($sendToTelegram) {
      echo '<p class="success">Ваша заявка принята.</p>';
      return true;
    } else {
      echo '<p class="fail"><b>Ошибка.</b></p>';
    }
  } else {
    echo '<p class="fail">Ошибка. Заполните обязательные поля.</p>';
  }
} else {
  header ("Location: /");
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы