@KunaRaiden

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

Здравствуйте!
Как можно направить заявки с формы на сайте в 2 разных телеграм чата, с разными данными?
В первый чат телеграм полный номер телефона, а во второй последние 4 цифры. Если дело только в обработчике, то вот сам код. Или же здесь затрагивается логика JavaScript?
Помогите пожалуйста разобраться, спасибо.
<?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: /");
}
  • Вопрос задан
  • 59 просмотров
Решения вопроса 1
hydrugz
@hydrugz
strlen() - После получения данных проверяйте длину строки с номером;
если равна нулю - ошибка (ну или сообщение в телеграме что номер не был указан)
А если больше нуля (или 4) - берете последние 4 цифры с помощью substr() и присваиваете к переменной (lastChars напрм).
Дальше уже ещё один запрос после $sendToTelegram
-
$sendToTelegram_chat2 = fopen("https://api.telegram.org/bot{$token}/sendMessage?chat_id={$chat_id_2}&parse_mode=html&text={$lastChars}","r");

Ну и в конце проверка $sendToTelegram_chat2 на истину if ($sendToTelegram && $sendToTelegram_chat2)

P.S Я бы заменил fopen на curl
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
RecruitIT Москва
от 120 000 до 150 000 ₽
RecruitIT Москва
от 100 000 до 160 000 ₽
Сбер Москва
До 240 000 ₽
21 окт. 2020, в 17:12
15000 руб./за проект
21 окт. 2020, в 17:10
15000 руб./за проект