Задать вопрос
@NamZess

Почему не отправляет формы в телеграм?

<?php

/* https://api.telegram.org/bot7XXX5XXXXXXXXXXXXXXXXXXXXXwXXXOY4UXXX/getUpdates,
где, XXXXXXXXXXXXXXXXXXXXXXX - токен вашего бота, полученный ранее */

$name = $_POST['user_name'];
$phone = $_POST['user_phone'];
$email = $_POST['user_email'];
$token = "XXXXX";
$chat_id = "-XXXXXX";
$arr = array(
  'Имя пользователя: ' => $name,
  'Телефон: ' => $phone,
  'Email' => $email
);

foreach($arr as $key => $value) {
  $txt .= "<b>".$key."</b> ";
};

$sendToTelegram = fopen("https://api.telegram.org/bot{$token}/sendMessage?chat_id={$chat_id}&parse_mode=html&text={$txt}","r");

if ($sendToTelegram) {
  header('Location: thank-you.html');
} else {
  echo "Error";
}
?>


6720da13d3332446083491.png
  • Вопрос задан
  • 104 просмотра
Подписаться 1 Простой 1 комментарий
Решения вопроса 2
pickHabr
@pickHabr
Костыльных дел мастер
Возьми curl (а лучше сразу guzzle) вместо fopen и читай нормальные http ошибки, там все напишут
Ответ написан
Комментировать
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Кажинный раз одно и то же.
Для начала выберем самый извращённый способ отправки HTTPs-запроса через fopen.
Затем вместо нормальной обработки ошибки выведем одно слово Error.
Ну и напоследок будем гадать что бы это слово могло за собой скрывать.

Перепишите запрос на curl, включите вывод ошибок, выводите полностью пришедший от сервера ответ и не гадайте по одному слову.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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