menu

arrow_back Not sending data from the site to telegram and email at the same time?

by
1 vote
Hello.

I don't know anything about php. I found ready-made options for sending data from the site to telegram and email. They work separately, but not together. What is the error?

Sources:

HTML
<form id="form-contact" method="POST" class="form-element" autocomplete="off" action="send-message-to-telegram.php">
<p class="form-message"></p>
<div class="great">
<span class="compulsory">*</span>
<input name="name" type="text" class="form-input__name" tabindex="1" placeholder="Ваше имя" required maxlength="52">
</div>
<div class="great">
<span class="compulsory">*</span>
<input name="phone" type="tel" class="form-input__phone" tabindex="2" placeholder="Ваш телефон" required maxlength="32">
</div>
<input name="tg" type="tel" class="form-input__tg" tabindex="3" placeholder="Ваш телеграм" maxlength="32">

<input name="theme" type="hidden" class="form-input__theme" value="Заявка с сайта">
<input type="submit" class="form-input__button" value="Отправить">
</form>
PHP
// Отправка в Телеграм

<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
if (!empty($_POST['name']) && !empty($_POST['phone'])){
$name = strip_tags($_POST['name']);
$nameFieldset = "Имя: ";
$phone = strip_tags($_POST['phone']);
$phoneFieldset = "Телефон: ";

if (!empty($_POST['tg'])){
$tg = strip_tags($_POST['tg']);
$tgFieldset = "Телеграм: ";
}

$token = "token";
$chat_id = "chatID";
$arr = array(
$nameFieldset => $name,
$phoneFieldset => $phone,
$tgFieldset => $tg
);
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 '<div class="success">&#8194;Заявка отправлена!</div>';
return true;
} else {
echo '<div class="fail">Ошибка. Сообщение не отправлено!</div>';
}

} else {
echo '<p class="fail before_send">Ошибка. Вы не заполнили все обязательные поля!</p>';
}
} else {
header ("Location: /");
}
?>

//Отправка в Почту

<?php
$to = "test@mail.ru"; // емайл получателя данных из формы
$tema = "Форма обратной связи на PHP"; // тема полученного емайла
$message = "Ваше имя: ".$_POST['name']."<br>";//присвоить переменной значение, полученное из формы name=name
$message .= "Номер телефона: ".$_POST['phone']."<br>"; //полученное из формы name=phone
$message .= "Номер телефона: ".$_POST['tg']."<br>";
$headers = 'MIME-Version: 1.0' . "\r\n"; // заголовок соответствует формату плюс символ перевода строки
$headers .= 'Content-type: text/html; charset=utf-8' . "\r\n"; // указывает на тип посылаемого контента
mail($to, $tema, $message, $headers); //отправляет получателю на емайл значения переменных
?>
JS
$(document).ready(function () {
$(".form-element").on('submit', function () {
var formID = $(this).attr('id');
var formNm = $('#' + formID);
var message = $(formNm).find(".form-message");
var formTitle = $(formNm).find(".form-title");
$.ajax({
type: "POST",
url: './send-message-to-telegram.php',
data: formNm.serialize(),
beforeSend: function(){
message.html('<div class="before_send"><img src="./SimilarPlumpBarasingha-size_restricted.gif" alt=""> <br>Идёт отправка сообщения...</div>');
},
success: function (data) {
// Вывод сообщения об успешной отправке
window.location.href = "true.html";
},
error: function (jqXHR, text, error) {
// Вывод сообщения об ошибке отправки
window.location.href = "false.html";
},
});
return false;
});
});

1 Answer

by
 
Best answer
0 votes
remove return true; on successful sending to the cart. or swap out sending to the cart and to the mail