@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: /");
}
  • Вопрос задан
  • 149 просмотров
Решения вопроса 1
@Redeve
Веб-макаке не хватит и 640гБ
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
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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