@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: /");
}
  • Вопрос задан
  • 66 просмотров
Решения вопроса 1
@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: /");
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Vene4ka
@Vene4ka
Учусь программировать :>
Я конечно не эксперт, и может меня заплюют, но:
<input type="hidden" id="ip" name="ip" value="<?$_SERVER['REMOTE_ADDR']?>">

Это должно помочь вам.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
RecruitIT Москва
от 120 000 до 150 000 ₽
RecruitIT Москва
от 100 000 до 160 000 ₽
Сбер Москва
До 240 000 ₽
22 окт. 2020, в 06:46
3000 руб./за проект
21 окт. 2020, в 22:40
300 руб./за проект
21 окт. 2020, в 22:34
25000 руб./за проект