. Эрик А. Мейер. CSS. Каскадные таблицы стилей. Подробное руководство / Символ-Плюс, 2008. - 576 с.
. Беэр Бибо <http://www.ozon.ru/person/3646914/>, Иегуда Кац <http://www.ozon.ru/person/4239190/>. jQuery. Подробное руководство по продвинутому JavaScript / Символ-Плюс, 2011. - 624 с.
. Брюс Лоусон <http://www.ozon.ru/person/5820406/>, Реми Шарп <http://www.ozon.ru/person/5820411/>. Изучаем HTML5. Библиотека специалиста / Питер, 2012. - 304 с.
. Alexdev блог, посвященный web - программированию и разработке сайтов. [Электронный ресурс] - URL: alexdev.ru/1025/
. Маркетинг - PowerBranding.ru. [Электронный ресурс] - URL:
. <http://powerbranding.ru/potrebitel/celevaya-auditoriya/>
. Блог Конверт Монстра - суровый интернет маркетинг [Электронный ресурс] - URL: <http://convertmonster.ru/blog/marketing-blog/celevaja-auditorija-sajta/>
. Htmlbook.ru Для тех, кто делает сайты [Электронный ресурс] - URL: htmlbook.ru
. Русская сеть. Информационный портал о программировании [Электронный ресурс] - URL: <http://www.ruweb.ru/toclients/functions.shtml>
. PHP: Hypertext Preprocessor [Электронный ресурс] - URL: http://php.net/
18. Free vectors, photos and PSD downloads [Электронный ресурс] - URL: <http://www.freepik.com/>
19. Блог о создании лейдинг пейдж [Электронный ресурс] - URL: http://smartlanding. biz/ <http://smartlanding.biz/>
. Видео-уроки по созданию сайта для бизнеса [Электронный ресурс] - URL: <http://ruseller.com/>
. Создай свой сайт
[Электронный ресурс] - URL: http://www.sitehere.ru/
Приложение 1
Обработчик формы на клиенте.
$ (function () {$forms = $ (". js-forms");
$forms. submit (function () {$form = $ (this);
$. ajax ({: $form. attr ("action"),: $form. serialize (),: $form. attr ("method"),: function (data) {
$ (' [name="captcha"] '). val ("");
$ (' [type="captcha"] '). attr ('src', "/captcha. php? nocache=" + (+ (new Date ())));(data. error) {. alert (data. message);
} else {. alert (data. message);. location. href = "/";
}
},: function () {. alert ("Ошибка запроса!");
}
});false;
});
});
$ (function () {
$ ("img [type='captcha'] "). click (function () {img = $ (this),= + (new Date ());. attr ('src', "/captcha. php? nocache=" + nocache);
})
. attr ('title', "Обновить защитный код!")
. css ('cursor', 'pointer');
});
Обработчик формы на сервере (главная страница)
<? php_start ();_once (__DIR__. "/bd. php");_once (__DIR__. "/captcha/index. php");("content-type: application/json");
$data = [
"error" => true,
"message" => "Ошибка",
];(! captcha_check ()) {
$data ["message"] = "Каптча введена неверно!";json_encode ($data);(0);
}(empty ($_POST ['user'])) {
$data ["message"] = "Вы не заполнили поле - ИМЯ!";json_encode ($data);(0);
}(empty ($_POST ['phone'])) {
$data ["message"] = "Вы не заполнили поле - ТЕЛЕФОН!";
echo json_encode ($data);(0);
}
$sql = "INSERT INTO `reg_form` SET name =". escape_db ($_POST ["user"]);
$sql. =", phone =". escape_db ($_POST ["phone"]);
$mysqli->query ($sql);
$data ["error"] = false;
$data ["message"] = "Форма успешно отправлена!";
echo json_encode ($data);(0);
Обработчик формы на сервере (форма обратной связи)
<? php_start ();_once (__DIR__. "/bd. php");_once (__DIR__. "/captcha/index. php");("content-type: application/json");
$data = [
"error" => true,
"message" => "Ошибка",
];(! captcha_check ()) {
$data ["message"] = "Каптча введена неверно!";json_encode ($data);(0);
}(empty ($_POST ['name'])) {
$data ["message"] = "Вы не заполнили поле - ИМЯ!";json_encode ($data);(0);
}(empty ($_POST ['surname'])) {
$data ["message"] = "Вы не заполнили поле - ФАМИЛИЯ!";
echo json_encode ($data);(0);
}(empty ($_POST ['fathername'])) {
$data ["message"] = "Вы не заполнили поле - ОТЧЕСТВО!";json_encode ($data);(0);
}
if (empty ($_POST ['phone'])) {
$data ["message"] = "Вы не заполнили поле - ТЕЛЕФОН!";
echo json_encode ($data);(0);
}
if (empty ($_POST ['zone'])) {
$data ["message"] = "Вы не заполнили поле - УЧАСТОК!";
echo json_encode ($data);(0);
}
$sql = "INSERT INTO `form` SET name =". escape_db ($_POST ["name"]);
$sql. =", surname =". escape_db ($_POST ["surname"]);
$sql. =", fathername =". escape_db ($_POST ["fathername"]);
$sql. =", phone =". escape_db ($_POST ["phone"]);
$sql. =", zone =". escape_db ($_POST ["zone"]);
$mysqli->query ($sql);
$data ["error"] = false;
$data ["message"] = "Форма успешно отправлена!";json_encode ($data);(0);
Функция генерации каптчи
<? php
require_once (__DIR__. "/captcha/index. php");_start ();
$string = "";($i = 0; $i < 5; $i++)
$string. = chr (rand (97, 122));_set_code ($string);
$dir = __DIR__. "/assets/common/fonts/";
$image = imagecreatetruecolor (230, 60);
$black = imagecolorallocate ($image, 10, 110, 0);
$white = imagecolorallocate ($image, 255, 255, 255);
$color = imagecolorallocate ($image, 86, 18,2);($image, 0, 0, 399, 99, $white);
$string = implode ("", str_split ($string));($image, 24, 0, 30, 40, $color, $dir. "MyriadPro-Bold. otf", $string);
// наносим линии($i = 0; $i < 8; $i += 1) {
$y = rand (0, 60);($image, 0, $y, 250, $y, $white);
}("Content-type: image/png"); ($image);
Функция для подключения к базе данных
<? php
$dblocation = "localhost"; // Имя сервера
$dbuser = "root"; // Имя пользователя
$dbpasswd = ""; // Пароль
$dbname = "reg_bd";
$mysqli = new mysqli ($dblocation, $dbuser, $dbpassword, $dbname);($mysqli->connect_errno) {("Ошибка подключения!");
}escape_db ($value) {$mysqli;"'". $mysqli->real_escape_string ($value). "'";
}