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

    @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
    Ответ написан
    1 комментарий
  • Как получить ip адрес с формы на сайте в телеграм чат?

    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: /");
    }
    Ответ написан
    2 комментария