slo_nik, доброй ночи. Если бы все так просто было)) php скрипт то не скачаешь. Они данные обрабатывают через Javascript и передают оттуда на php или еще куда-то.
Вообще не понятно, в чём у вас сложность.
Форма обрабатывается на сервере. В ответ приходит JSON, где ключ совпадает с именем поля.
Если ключ имени существует - значит ошибка при заполнении формы.
viktorleg, проблема тостера в людях, неправильно задающих неправильные вопросы.
На мой взгляд, данный вопрос надо было задать примерно так:
Заголовок: Реализуйте за меня клиентскую и серверную части такой контактной формы.
Но ясное дело при такой постановке вопроса:
- тостер предложит Вам поставить знак вопроса в конце вопроса
- пользователи пошлют Вас в грубой или мягкой форме на биржу фрилансеров.
А потому наиболее верным было бы спросить так:
- Подскажите готовые решения на php, на основе которых можно реализовать такую контактную форму?
И в зависимости от выбранного вами варианта ответа на этот вопрос задавать вопросы об используемых в нем технологиях по мере возникновения неясностей.
viktorleg, в любом случае, в данной постановке вопрос потребует слишкоммногобукаф от любого кто решит на него ответить, что непременно скажется на качестве ответов, которые к слову будут либо просто ссылкой на какое то "готовое" решение, не применимое к данной ситуации и требующее серьезной переделки серверной и клиентской части, либо будут говорить по делу но сильно сократив описательную часть, что превратит ответ в бесполезный для человека, который сам не умеет пока самостоятельно реализовывать такие вещи.
viktorleg, не обижайтесь на меня, просто я тут решил помочь немного человеку, мучаюсь с ним третий день, а он просто не понимает (а возможно даже не хочет понять) код который ему даю. Вот я и злюсь потихоньку :)
Решение зависит от используемой CMS. Я всегда стараюсь использовать API CMS платформы, которую использует сайт, и вот если не нахожу подходящего функционала для реализации - создаю отдельный файл для обработки данных.
Ну приблизительно так проверяем, что это AJAX и далее уже обрабатываем данные.
На примере Имя и Email
<?php
header("Content-type: application/json; charset=utf-8");
$ob = new stdClass();
$ob->error = false;
if (isset($_SERVER['HTTP_X_REQUESTED_WITH']) && !empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest'):
if($_POST):
if(!empty($_POST["mail"])):
$email = trim($_POST["mail"]);
if(preg_match("/^([\w-._]+@[\w-._]+\.[\w-]{2,})$/i", $email)):
// Email введён корректно
else:
// Email введён не корректно или вообще не введён.
$ob->error = true;
$ob->mail = "Не введён email";
endif;
else:
$ob->mail = "Не введён email";
endif;
if(!empty($_POST["name"])):
$name = trim($_POST["name"]);
if(mb_strlen(trim($value)) > 2):
// Имя введён корректно
else:
// Имя введён не корректно или вообще не введён.
$ob->error = true;
$ob->name = "Не введёно Имя";
endif;
else:
$ob->name = "Не введёно Имя";
endif;
//Если ошибок нет
if(!$ob->error):
// Что-то делаете с полученными данными
$ob->success = "Сообщение о удачной отправке данных";
endif;
else:
$ob->error = true;
// $_POST запрос пустой.
$ob->fatall = "Вообще ни чего не отправлено.";
endif;
else:
$ob->error = true;
// Вернее отправлено, но это не AJAX, ну и незачем об этом знать пользователю
$ob->fatall = "Вообще ни чего не отправлено.";
endif;
echo json_encode($ob);
?>
Если в ответе свойство error будет 1, то значит есть ошибки, 0 - нету ошибок.
А далее уже делаете с полученными данными то, что считаете нужным.
PS: код написан с коленки. Если есть ошибки, строго не судите).