<?php
session_start();
if (isset($_GET['ref'])) {
if (!empty($_GET['ref'])){
$ref = strip_tags($_GET['ref']);
$_SESSION['ref'] = $ref;
}
}
if (isset($_GET['utm_source'])) {
if (!empty($_GET['utm_source'])){
$utm_source = strip_tags($_GET['utm_source']);
$_SESSION['utm_source'] = $utm_source;
}
}
if (isset($_GET['utm_medium'])) {
if (!empty($_GET['utm_medium'])){
$utm_medium = strip_tags($_GET['utm_medium']);
$_SESSION['utm_medium'] = $utm_medium;
}
}
if (isset($_GET['utm_campaign'])) {
if (!empty($_GET['utm_campaign'])){
$utm_campaign = strip_tags($_GET['utm_campaign']);
$_SESSION['utm_campaign'] = $utm_campaign;
}
}
if (isset($_GET['utm_term'])) {
if (!empty($_GET['utm_term'])){
$utm_term = strip_tags($_GET['utm_term']);
$_SESSION['utm_term'] = $utm_term;
}
}
if (isset($_GET['utm_content'])) {
if (!empty($_GET['utm_content'])){
$utm_content = strip_tags($_GET['utm_content']);
$_SESSION['utm_content'] = $utm_content;
}
}
if (isset($_GET['type'])) {
if (!empty($_GET['type'])){
$type = strip_tags($_GET['type']);
$_SESSION['type'] = $type;
}
}
if (isset($_GET['source'])) {
if (!empty($_GET['source'])){
$source = strip_tags($_GET['source']);
$_SESSION['source'] = $source;
}
}
if (isset($_GET['block'])) {
if (!empty($_GET['block'])){
$block = strip_tags($_GET['block']);
$_SESSION['block'] = $block;
}
}
if (isset($_GET['position'])) {
if (!empty($_GET['position'])){
$position = strip_tags($_GET['position']);
$_SESSION['position'] = $position;
}
}
if (isset($_GET['keyword'])) {
if (!empty($_GET['keyword'])){
$keyword = strip_tags($_GET['keyword']);
$_SESSION['keyword'] = $keyword;
}
}
require_once('assets/Mobile_Detect.php'); // Подключаем скрипт Mobile_Detect.php
$detect = new Mobile_Detect; // Инициализируем копию класса
// Исключаем планшеты
if( $detect->isMobile() && !$detect->isTablet() ){
include "index-mobile.tpl";
} else {
include "index-desktop.tpl";
}
require_once('assets/modalform/mail.php'); /* Подключил php-обработчик так, потому что в первом варианте не виден массив сессий */
?>
$(document).ready(function () {
$("form").submit(function () {
// Получение ID формы
var formID = $(this).attr('id');
// Добавление решётки к имени ID
var formNm = $('#' + formID);
var message = $(formNm).find(".msgs"); // Ищет класс .msgs в текущей форме и записываем в переменную
var formTitle = $(formNm).find(".formTitle"); // Ищет класс .formtitle в текущей форме и записываем в переменную
$.ajax({
type: "POST",
// url: '/assets/modalform/mail.php',
url: '/',
data: formNm.serialize(),
success: function (data) {
// Вывод сообщения об успешной отправке
message.html(data);
formTitle.css("display","none");
setTimeout(function(){
//$(formNm).css("display","block");
$('.formTitle').css("display","block");
$('.msgs').html('');
$('input').not(':input[type=submit], :input[type=hidden]').val('');
$('textarea').not(':input[type=submit], :input[type=hidden]').val('');
}, 3000);
// $('.remodal-close').click();
},
error: function (jqXHR, text, error) {
// Вывод сообщения об ошибке отправки
message.html(error);
formTitle.css("display","none");
// $(formNm).css("display","none");
setTimeout(function(){
//$(formNm).css("display","block");
$('.formTitle').css("display","block");
$('.msgs').html('');
}, 3000);
}
});
return false;
});
//для стилей формы
var $input = $('.form-fieldset > input');
$input.blur(function (e) {
$(this).toggleClass('filled', !!$(this).val());
});
$(".linkButton").click(function() {
$( "input[name*='formInfo']" ).val($(this).attr( "title" ));
});
});
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
if (!empty($_POST['name']) && !empty($_POST['phone']) && isset($_POST['policy'])){
$data = array();
if (isset($_POST['name'])) {
if (!empty($_POST['name'])){
$name = strip_tags($_POST['name']);
$data['name'] = "Имя отправителя: $name";
}
}
if (isset($_POST['phone'])) {
if (!empty($_POST['phone'])){
$phone = strip_tags($_POST['phone']);
$data['phone'] = "Телефон/email: $phone";
}
}
if (isset($_POST['email'])) {
if (!empty($_POST['email'])){
$email = strip_tags($_POST['email']);
$data['email'] = "Email: $email";
}
}
if (isset($_POST['formInfo'])) {
if (!empty($_POST['formInfo'])){
$formInfo = strip_tags($_POST['formInfo']);
$data['formInfo'] = "Название формы: $formInfo";
}
}
if (isset($_POST['website'])) {
if (!empty($_POST['website'])){
$website = strip_tags($_POST['website']);
$data['website'] = "Адресс сайта: $website";
}
}
if (isset($_POST['budget'])) {
if (!empty($_POST['budget'])){
$budget = strip_tags($_POST['budget']);
$data['budget'] = "Бюджет проекта: $budget";
}
}
if (isset($_POST['policy'])) {
if (!empty($_POST['policy'])){
$policy = strip_tags($_POST['policy']);
$data['policy'] = "Персональные данные: $policy";
}
}
if (isset($_POST['message'])) {
if (!empty($_POST['message'])){
$message = strip_tags($_POST['message']);
$data['message'] = "Сообщение: $message";
}
}
// Внедряем аналитику
if (isset($_SESSION['ref'])) {
if (!empty($_SESSION['ref'])){
$ref = $_SESSION['ref'];
$data['ref'] = "Рефферальный хвост: $ref";
}
}
if (isset($_SESSION['utm_source'])) {
if (!empty($_SESSION['utm_source'])){
$utm_source = $_SESSION['utm_source'];
$data['utm_source'] = "Источник рекламы: $utm_source";
}
}
if (isset($_SESSION['utm_medium'])) {
if (!empty($_SESSION['utm_medium'])){
$utm_medium = $_SESSION['utm_medium'];
$data['utm_medium'] = "Тип кампании(СРМ или СРС): $utm_medium";
}
}
if (isset($_SESSION['utm_campaign'])) {
if (!empty($_SESSION['utm_campaign'])){
$utm_campaign = $_SESSION['utm_campaign'];
$data['utm_campaign'] = "Название компании: $utm_campaign";
}
}
if (isset($_SESSION['utm_term'])) {
if (!empty($_SESSION['utm_term'])){
$utm_term = $_SESSION['utm_term'];
$data['utm_term'] = "Ключевое слово: $utm_term";
}
}
if (isset($_SESSION['utm_content'])) {
if (!empty($_SESSION['utm_content'])){
$utm_content = $_SESSION['utm_content'];
$data['utm_content'] = "Содержание: $utm_content";
}
}
// тут тоже код, который не влез в коммент
foreach($data as $key) {
$datatxt .= "<p>".$key."</p>";
}
// тут код который не влез в коммент
$message = "
<html>
<head></head>
<body>
$datatxt
</body>
</html>
";
$send = mail ($to, $subject, $message, $headers);
if ($send){
echo '<p class="good">Сообщение успешно отправлено!</p>';
}
} else {
echo '<p class="fail">Ошибка. Вы заполнили не все обязательные поля!</p>';
}
} else {
header ("Location: /");
}
?>
но тогда не видны данные из массива $_SESSION и это понятно.
с чего вдруг?
url: '/assets/modalform/mail.php'
error: function (jqXHR, text, error) {
// Вывод сообщения об ошибке отправки
message.html(error);
formTitle.css("display","none");
// $(formNm).css("display","none");
setTimeout(function(){
//$(formNm).css("display","block");
$('.formTitle').css("display","block");
$('.msgs').html('');
// $('input').not(':input[type=submit], :input[type=hidden]').val('');
}, 3000);
}
$(document).ready(function () {
$("form").submit(function () {
// Получение ID формы
var formID = $(this).attr('id');
// Добавление решётки к имени ID
var formNm = $('#' + formID);
var message = $(formNm).find(".msgs"); // Ищет класс .msgs в текущей форме и записываем в переменную
var formTitle = $(formNm).find(".formTitle"); // Ищет класс .formtitle в текущей форме и записываем в переменную
$.ajax({
type: "POST",
//url: 'modalform/mail.php',
url: 'mail.php',
data: formNm.serialize(),
success: function (data) {
// Вывод сообщения об успешной отправке
message.html(data);
formTitle.css("display","none");
setTimeout(function(){
//$(formNm).css("display","block");
$('.formTitle').css("display","block");
$('.msgs').html('');
$('input').not(':input[type=submit], :input[type=hidden]').val('');
}, 3000);
},
error: function (jqXHR, text, error) {
// Вывод сообщения об ошибке отправки
message.html(error);
formTitle.css("display","none");
// $(formNm).css("display","none");
setTimeout(function(){
//$(formNm).css("display","block");
$('.formTitle').css("display","block");
$('.msgs').html('');
$('input').not(':input[type=submit], :input[type=hidden]').val('');
}, 3000);
}
});
return false;
});
//для стилей формы
var $input = $('.form-fieldset > input');
$input.blur(function (e) {
$(this).toggleClass('filled', !!$(this).val());
});
});
<?php
class Mail {
public $name = null;
public $phone = null;
public $email = null;
public $phone_email = null;
public $website = null;
public $message = null;
public $formInfo = null;
public function __construct(){
if(!empty($_POST)) {
$this->name = strip_tags($_POST['name']);
$this->phone = strip_tags($_POST['phone']);
$this->email = strip_tags($_POST['email']);
$this->phone_email = strip_tags($_POST['phone_email']);
$this->website = strip_tags($_POST['website']);
$this->message = strip_tags($_POST['message']);
$this->formInfo = strip_tags($_POST['$formInfo']);
}
}
public function sendmail () {
$to = "seotapki@yandex.ru"; /*Укажите адрес, на который должно приходить письмо*/
$sendfrom = "info@site.ru"; /*Укажите адрес, с которого будет приходить письмо */
$headers = "From: " . strip_tags($sendfrom) . "\r\n";
$headers .= "Reply-To: ". strip_tags($sendfrom) . "\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html;charset=utf-8 \r\n";
$headers .= "Content-Transfer-Encoding: 8bit \r\n";
$subject = "$this->formInfo";
$message = "$this->name
$this->phone
$this->email
$this->phone_email
$this->formInfo
$this->message
$this->website
";
$send = mail ($to, $subject, $message, $headers);
if ($send){
echo '<p class="fail">Сообщение успешно отправлено!</p>';
} else {
echo '<p class="fail">Ошибка. Вы заполнили не все обязательные поля!</p>';
}
}
public function sendcrm () {
// отправка в CRM
}
public function sendtelegram () {
// отправка в Telegram
}
}
if(!empty($_POST)) {
$startmail = new Mail();
$startmail->sendmail();
$startmail->sendsendcrm();
$startmail->sendtelegram();
}
$path = UPLOADS.'services'.DS;
if (!@copy($_FILES['picture']['tmp_name'], $path . $_FILES['picture']['name'])){
$picture = $this->db->escape($_FILES['picture']['name']);
}
// echo $path;
$picture = $this->db->escape($_FILES['picture']['name']);
Проблема в том, что тогда придется : 1. Делать скрытые инпуты в каждой форме, получать в них значения из сессии и передавать пост-ом в PHP- обработчик формы, так :
url: '/assets/modalform/mail.php
либо в главный файл, подключать PHP-обработчик так:
require_once('assets/modalform/mail.php');
Иначе данные не получить из сессии, правильно?