url: '/assets/modalform/mail.php
require_once('assets/modalform/mail.php');
url: '/'
<?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'
<?php
session_start();
$parameters = ['ref','utm_source','utm_medium','utm_campaign',
'utm_term','utm_content','type','source','block','position','keyword'];
foreach ($parameters as $param) {
if (isset($_GET[$param]) && !empty($_GET[$param])) {
$_SESSION[$prarm] = strip_tags($_GET[$param]);
}
}
}
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-обработчик так, потому что в первом варианте не виден массив сессий */
В чем проблема обращаться к данным сессии в обработчике "любой формы"? При чем здесь AJAX?
url: '/assets/modalform/mail.php
require_once('assets/modalform/mail.php');
В чем проблема обращаться к данным сессии в обработчике "любой формы"? При чем здесь AJAX?