Найти в Дзене
Лайфхаки по жизни

Форма обратной связи для сайта на PHP с отправкой сообщения в Telegram

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Вот пример PHP-скрипта, который создает форму обратной связи и отправляет сообщения в Telegram, включая IP-адрес отправителя: HTML-форма: Простая форма с полями для имени, email и сообщения. PHP-скрипт: Обрабатывает данные формы и отправляет их в Telegram. <!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Форма обратной связи</title>
</head>
<body>
<form action="send_to_telegram.php" method="POST">
<label for="name">Имя:</label>
<input type="text" id="name" name="name" required>
<br>
<label for="email">Email:</label>
<input type="email" id="email" name="email" required>
<br>
<label for="message">Сообщение:</label>
<textarea id="message" name="message" required></textarea>
<br>
<button type="submit">Отправить</button>
</form>
</body>
</html> <?php
// Укажите токен в

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Вот пример PHP-скрипта, который создает форму обратной связи и отправляет сообщения в Telegram, включая IP-адрес отправителя:

HTML-форма: Простая форма с полями для имени, email и сообщения.

PHP-скрипт: Обрабатывает данные формы и отправляет их в Telegram.

  1. HTML Форма (form.html)

<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Форма обратной связи</title>
</head>
<body>
<form action="send_to_telegram.php" method="POST">
<label for="name">Имя:</label>
<input type="text" id="name" name="name" required>
<br>
<label for="email">Email:</label>
<input type="email" id="email" name="email" required>
<br>
<label for="message">Сообщение:</label>
<textarea id="message" name="message" required></textarea>
<br>
<button type="submit">Отправить</button>
</form>
</body>
</html>

  1. PHP-скрипт для отправки в Telegram (send_to_telegram.php)

<?php
// Укажите токен вашего бота
$token = "ВАШ_TELEGRAM_TOKEN";

// Укажите ID чата, куда бот будет отправлять сообщения
$chat_id = "ВАШ_CHAT_ID";

// Получение данных из формы
$name = htmlspecialchars($_POST['name']);
$email = htmlspecialchars($_POST['email']);
$message = htmlspecialchars($_POST['message']);

// Получение IP-адреса отправителя
$ip_address = $_SERVER['REMOTE_ADDR'];

// Формирование текста сообщения для Telegram
$txt = "Новое сообщение с сайта:\n";
$txt .= "Имя: $name\n";
$txt .= "Email: $email\n";
$txt .= "Сообщение: $message\n";
$txt .= "IP: $ip_address";

// URL для отправки сообщения в Telegram
$url = "https://api.telegram.org/bot$token/sendMessage";

// Параметры запроса
$data = [
'chat_id' => $chat_id,
'text' => $txt
];

// Инициализация cURL
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

// Выполнение запроса
$response = curl_exec($ch);
curl_close($ch);

// Проверка успешности отправки
if ($response) {
echo "Сообщение успешно отправлено.";
} else {
echo "Ошибка при отправке сообщения.";
}
?>

Инструкции:

Замените ВАШ_TELEGRAM_TOKEN на токен вашего бота (получить можно у BotFather).

Замените ВАШ_CHAT_ID на ID вашего чата или пользователя, куда бот будет отправлять сообщения. Узнать ваш ID можно, отправив /start вашему боту и проверив ответ от Telegram API.

Разместите оба файла (form.html и send_to_telegram.php) на сервере.