Кнопка "заказать звонок" для вашего сайта

Апдейт версии скрипта от 26.06.2024 - упростил форму, добавил новую защиту от спама.

Апдейт версии скрипта от 17.04.2020 - решил серьезно улучшить форму обратного звонка, из-за появления нового опыта и обновления технологий.

Апдейт версии скрипта от 30.04.2020 - поправил ошибку отображения кода.

jQuery 3+ предпочтительнее, но fancybox работает и с jQuery 1.9.1+ и jQuery 2+

Функционал:

  1. - Простое подключение с пошаговым описанием
  2. - Новый скрипт всплывающего окна на fancybox v. 3
  3. - Защита от спам рассылок
  4. - Показывает в теле письма ссылку на страницу, с которой пришла заявка
  5. - Можно подключить РЕКАПЧУ от гугл v2

Скрипт - форма обратного звонка

Решил оставить комментарии для следующего сайта, чтобы было попроще делать красивый обратный звонок с удобной маской для ввода телефонного номера:

Для получения красивого всплывающего модального окна будем использовать плагин jquery - fancybox 3 весрии.

Джаваскрипт код - вставляем между тегами head и /head в шаблоне.





	
	

HTML код всплывающего модального окна - вставляем в самый низ шаблона перед /body

    






Создаем PHP файл с названием "calc.php" кладем его в корень сайта с правами 644. Указываем почту, куда будут приходить письма, названия, можно подправить тело письма.

    

<?php
/*
$error = true;
$secret = 'СЕКРЕТНЫЙ КОД recaptcha';
 
if (!empty($_POST['g-recaptcha-response'])) {
	$curl = curl_init('https://www.google.com/recaptcha/api/siteverify');
	curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
	curl_setopt($curl, CURLOPT_POST, true);
	curl_setopt($curl, CURLOPT_POSTFIELDS, 'secret=' . $secret . '&response=' . $_POST['g-recaptcha-response']);
	$out = curl_exec($curl);
	curl_close($curl);
	
	$out = json_decode($out);
	if ($out->success == true) {
		$error = false;
	} 
}    
 
if ($error) {
	echo 'Ошибка заполнения капчи!';
}else{
*/

			

		if(isset($_POST['name'])) { $name = htmlspecialchars($_POST['name']);}
		if(isset($_POST['phone'])) { $phone = htmlspecialchars($_POST['phone']);}
		if(isset($_POST['message'])) { $message = htmlspecialchars($_POST['message']);}
		if(isset($_POST['vrvzam'])) { $vrvzam = htmlspecialchars($_POST['vrvzam']);}
		if(isset($_POST['vrvzam2'])) { $vrvzam2 = htmlspecialchars($_POST['vrvzam2']);}
		if(isset($_POST['vrvzam3'])) { $vrvzam3 = htmlspecialchars($_POST['vrvzam3']);}
		if(isset($_POST['page_url'])) { $page_url = htmlspecialchars($_POST['page_url']);}

		$result = 0;
		
		$ipClienta = $_SERVER['REMOTE_ADDR'];
		
					$to = "ВАША_ПОЧТА"; //Здесь надо указать на какую почту будет приходить письмо
					
					$subject = "$phone $message"; //Название письма
					$text =  "\nИмя: $name
Телефон: $phone
Примечание: $message
Урл страницы: $page_url
IP посетителя: $ipClienta
"; $headers = "MIME-Version: 1.0\r\n"; $headers .= "Content-type: text/html; charset=utf-8\r\n"; // кодировка письма $headers .= "From: Заявка от $name <ОТ_КОГО_ПОЧТА>\r\n"; // от кого письмо if($vrvzam=='' and $vrvzam2=='' and $vrvzam3=='vrv'){$sending = mail($to, $subject, $text, $headers);} if($sending) $result = 1; echo $result; //} ?>

Последний штрих - вставляем саму кнопку на сайт.


ЗАКАЗАТЬ ОБРАТНЫЙ ЗВОНОК

Наслаждаемся корректной работой.

Если нужно получать url страницы: <input type="hidden" name="page_url" value="<? echo "https://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; ?>" />