Вечер добрый!
Проблема с отправкой данных через Telegram API.
В PHP файле получаю отправленные через AJAX значения input`ов и строки из БД по id. Записываю эти строки в массив и затем конвертирую его в строку при помощи implode();
Далее эти данные собираются в массив, преобразовываются в строку и отправляются через fopen. Если с полученными значениями input`ов все хорошо, то при попытке отправить еще и строку полученную из БД получаю ошибку:
failed to open stream: HTTP request failed! HTTP/1.1 400 Bad Request на строке:
$sendToTelegram = fopen("https://api.telegram.org/bot{$token}/sendMessage?chat_id={$chat_id}&parse_mode=html&text={$txt}","r");
Подскажите, пожалуйста, как можно решить проблему.
PHP-код:
foreach ($idItems as $id) {
$conn = connect();
$query = mysqli_query($conn, "SELECT title FROM `catalog` WHERE id = $id");
while($result = mysqli_fetch_assoc($query)) {
$title[] = $result['title'];
}
}
$title = implode(", ", $title);
$name = $_POST['name'];
$phone = $_POST['phone'];
$email = $_POST['email'];
$city = $_POST['city'];
$address = $_POST['address'];
$index = $_POST['index'];
$arr = array(
'Покупатель: ' => $name,
'Телефон: ' => $phone,
'Email: ' => $email,
'Город: ' => $city,
'Адрес: ' => $address,
'Индекс: ' => $index,
'Товар: ' => $title
);
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");