@betored

Отправка формы в telegram в чём ошибка?

Сделал отправку данных в telegram, всё работало и вдруг раз и перестало работать

код:

<?php


$aipi = $_SERVER['REMOTE_ADDR'];

$token = "1420262397:AAFJZEK-q3_ba3cYcqbUo9R2cz1wUCEiNcg";
$chat_id = "-253031623";



$client  = @$_SERVER['HTTP_CLIENT_IP'];
$forward = @$_SERVER['HTTP_X_FORWARDED_FOR'];
$remote  = @$_SERVER['REMOTE_ADDR'];
$result  = array('country'=>'', 'city'=>'');
 
if(filter_var($client, FILTER_VALIDATE_IP)) $ip = $client;
elseif(filter_var($forward, FILTER_VALIDATE_IP)) $ip = $forward;
else $ip = $remote;
 
$ip_data = @json_decode(file_get_contents("http://www.geoplugin.net/json.gp?ip=".$ip));    
if($ip_data && $ip_data->geoplugin_countryName != null)
{
    $result = $ip_data->geoplugin_countryCode;
}
 





$arr = array(
  'Кто то перешёл на сайт! IP: ' => $aipi,
  'Страна: ' => $result,
  
);

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) {
  header('Location: testuser.php');
} else {
  echo "Error";
}
?>


ошибка:

Notice: Undefined variable: txt in /sites/site.com/index.php on line 38

Warning: fopen(https://api.telegram.org/bot11420262397:AAFJZEK-q3...Кто то перешёл на сайт! IP: 123.123.123.123%0AСтрана: RU%0A): failed to open stream: HTTP request failed! HTTP/1.1 400 Bad Request in /sites/site.com/index.php on line 41
Error
  • Вопрос задан
  • 753 просмотра
Решения вопроса 2
@Kirill-Gorelov
С ума с IT
Надо объявить переменную, для начала. И там смотреть дальше.
$txt = '';
foreach($arr as $key => $value) {
  $txt .= "<b>".$key."</b> ".$value."%0A";
};
Ответ написан
@betored Автор вопроса
Проблема была в том что во первых надо было объявить переменную txt, а во вторых оказывается после преобразования чата в супер чат в телеграмме ID чата меняется поэтому он и не отправлял
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы