Неосновательный success php. Простой пример использования PHP и AJAX

10.12.2021 Android

Степан Овчинников, ИНТЕРВОЛГА

Компания: ИНТЕРВОЛГА
Год основания : 2003
Партнерский статус: Золотой, список компаний, рекомендованных для крупных внедрений
Сколько лет с «1С-Битрикс»: 7 лет
Специализация: технологически сложные сайты, интернет-магазины, корпоративные порталы, личные кабинеты.

Достижения:

  • С 2011 каждый год первые в ЮФО
  • Входим в список компаний, рекомендованных 1С-Битрикс для крупных внедрений
  • Ведем тематический блог о веб-разработке и интернет-маркетинге с посещаемостью до 800 человек в сутки
  • В штате компании 50 человек
История маленькой региональной компании, которая смогла вырасти за счет правильного выбора стратегии и технологий.

Компанию основал в 2003 году волгоградский юрист, не имевший ничего общего с веб-технологиями и разработкой. Ему казалось, что нет хороших сайтов, нет информационных справочных систем. Он создал веб-студию, чтобы создать региональную справочную систему и в дальнейшем заниматься другими проектами.

К 2005 году, когда я пришел работать, в «Интерволге» сделали более ста сайтов. Конечно, они были примитивными по нынешним меркам. Мы пробовали заниматься другими направлениями. Интернет-маркетингом не занимались, только SEO.

В 2006 году я стал коммерческим директором. Первые несколько лет мы продолжали делать то, с чего начали - разрабатывали волгоградские сайты. Иногородних клиентов тогда не было.

В 2009–2010 годах произошли серьезные изменения в компании, совпавшие с началом затяжного экономического кризиса. Я начал делегировать полномочия. Ранее я управлял всеми проектами сам.

Раньше в компании работал один программист, он обрабатывал задачи от двух менеджеров, и нам его хватало. Замена программистов происходила так: год-два человек работал и уходил, и каждый раз мы меняли культуру программного кода. Я понял, что заменить программиста - большая проблема. Примерно тогда состоялся разговор с Сергеем Рыжиковым. Он спросил: «А чего вы на «1С-Битрикс» не пишете?»


Инкубационный период длился примерно год - мы параллельно делали сайты на своем старом программном коде, на «1С-Битрикс» и на UMI. Мы сделали на «1С-Битрикс» шесть-восемь сайтов прежде, чем приняли решение, что будем работать только с этой платформой. Тогда же появилась возможность нанимать других программистов, и в 2010 году в компании их стало двое. А потом мы научились с этим справляться и наладили потоковую работу.

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

На семинарах я объяснял людям, что им не нужен интернет-магазин, достаточно каталога с формой заказа. Я это делал только потому, что у нас плохо удавались сложные задачи. Потом мы научились - все базовое берешь из «1С-Битрикс», все нетривиальное делаешь сам.

О специализации

Мы сделали крупный интернет-магазин для регионального дистрибьютора компании Shell. Их база данных интегрирована с базой данных всех автомобилей, которые теоретически могут быть снабжены их комплектующими. Это несколько тысяч моделей техники, к каждой из них предлагаются соответствующие продукты Shell.

Мы сделали форму подбора. Эта задача техническая - требует решения программистов, но когда мы работаем с «1С-Битрикс», мы именно эту задачу решаем. А если бы мы продолжали писать на своем коде, мы не могли бы решать стандартные задачи, которые уже есть в «1С-Битрикс» - например, «Корзина», «Поиск», «Оформление заказа», интеграция с «1С» и другие. Мы теперь занимаемся сразу нестандартными вещами.

У нас есть один из сильных проектов - «Клуб клиентов «Альфа-банка»». Мы делаем его на «1С-Битрикс» с использованием надстройки авторизации «банк-клиент». Этот сайт не использует базу данных «1С-Битрикс» - он интегрирован через специальные API с носителями информации заказчика и получает данные оттуда.

Крутейший проект этого года - личный кабинет для клиентов компании ЕВРАЗ. Мы в блоге подробно описали, как сделали и организовали его.

У нас к «1С-Битрикс», как к платформе, много вопросов и пожеланий, но с точки зрения бизнеса - это волшебная таблетка.

О доверии клиентов

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

Как нас - микроскопическую, убогую региональную студию - заметил Рыжиков? Я написал десяток статей на Хабре, которые сделали нас заметными. К нам обратился «Альфа-банк» с прямым вопросом: «Почему вы, ребята, такие красивые-умные, не участвуете в нашем тендере?» И мы поучаствовали.

Мы не можем дать массовую рекламу, получить горячие лиды и быстро сделать проект. Не беремся за проекты, которые более чем в полтора раза сложнее и крупнее предыдущих. Мы понимаем, что будут качественные различия, к которым мы пока не готовы. Поэтому развиваемся медленно.

Сложность проектов считаем в человекочасах. Оценить проект можем быстро - один-два рабочих дня. Есть такая единица измерения, которая называется «навороченный магазин» - 700–800–1000 часов работы. «Навороченных магазинов» может быть два и более.

Мы не используем тиражные решения - не придумали, как на этом можно зарабатывать деньги. Поэтому работаем только на аутсорсе - делаем свое для отдельных клиентов.

Был период, когда мы в Волгограде сделали три конкурирующих магазина электроинструментов. Такие специфические проекты бывают и сейчас, например, интернет-магазин промышленной электроники Siemens, ABB, Schneider Electric. У них множество дилеров, и каждый хочет крутой интернет-магазин.

Иногда заказчики к нам приходят толпой: понравился один сайт, и всем хочется такой же. Но мы с каждым заключаем договор. Тираж не для нас.

Мы сделали несколько модулей для маркетплейса. Они очень простые, многократно окупились благодаря простоте: мы инвестировали 20–30 часов работы, а продали этот модуль 100 раз.

Как заявлять о себе

2009 года мы проводим семинары каждый год, а иногда несколько раз в год - сами и совместно с «1С-Битрикс». Первые десять раз это делал я, потом делал кто-то из руководителей отделов. Теперь в команде есть линейный менеджер, он занимается семинарами.

Мы участвуем практически во всех программах, рейтингах, мониторингах качества. Мы пишем кейсы про любую мало-мальски заметную работу. Я горжусь тем, что наш сайт - среди партнеров самый информационно насыщенный по тематике «Битрикс24» и, возможно, по «1С-Битрикс: Управление сайтом».

Зачем мы это делаем? Это повышает наш уровень. Мы прорабатываем и обдумываем выполненную работу, оформляем ее в статью. Это пиар - люди читают.

У сайта «Интерволги», который мы ведем в свободное время, посещаемость - 800 человек в день, и из них 80% это низкочастотные запросы. То есть блог, в котором 250 статей, посещает около 650 человек в день. Мы не журналисты, но статьи дают хороший трафик.

Я не раз участвовал в выставках на стенде «1С-Битрикс». Участвовали в выставках и сами. Честно говоря, я в них слегка разочаровался - они не дают клиентов и пиар, только разговоры. Если хочешь узнать, что люди думают, участвуй в выставках.

У меня однажды был такой кейс: я за два дня поговорил со 172 людьми. К концу дня я понимал, что не могу даже закончить предложение. Но разговоры о конкретных задачах не дают продаж, поэтому на выставки мы больше не поедем.

А вот любые семинары, массовые мероприятия, где можно выступить и рассказать что-нибудь хорошее, любим. Выступаем бесплатно, из расходов только билеты в Москву. Стараемся использовать любую возможность для пиара.

Полезно, когда компанию пиарят конкуренты - нас часто рекомендуют на внедрение «Битрикс24». Но лучше пиариться среди клиентов, а их еще где-то надо взять. Мы для этого участвовали в профильных технических выставках -например, «МеталлЭкспо», «Автокомпоненты» в Тольятти.

Там действительно поле непаханое клиентов, но проблема в том, что это «холодные» лиды. Они не понимают, чего хотят. Чтобы их довести до продажи, с каждым надо год общаться. А мы к этому не готовы, предпочитаем «теплых». Мы их получаем за счет контент-маркетинга.

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

Совет

Нужно все время пытаться повышать цены. В какой-то момент тебе рынок скажет, что ты больше не можешь повышать цены, но нужно продолжать. Наводить порядок в инфраструктуре, снижать потери, повышать эффективность работы. Сейчас мы еще сталкиваемся с эффектом масштаба. У нас работает больше 50 человек, и в бардаке такой большой коллектив не смог бы существовать.

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

Алексей Саминский, консультант, вообще формулирует это предельно жестко:

«Если у вас есть какие-то проблемы, приводящие к убыткам, или вы недовольны тем, как вы работаете, вы должны сначала повысить цены процентов на 40, потом сократить процентов 40 людей, и только потом заниматься вопросами качества. Если вы будете это делать в обратном порядке, вы точно сдохнете.»

Часто мешает психологическая инерция. Я дважды брался за проекты, сумма которых казалась на тот момент настолько большой, что за эти деньги можно сделать все, что угодно. Психологические установки, которые не дают тебе адекватно смотреть на то, что ты делаешь, опасны.

Когда я начал работать в 2009 году, базовая цена за сайт в «Интерволге» была 11–16, может быть, 20 тысяч рублей. Это был сайт с дизайном, с кодом, с CMS, с инструкцией, с менеджментом - за 20 тысяч рублей. Если тогда средний уровень был 15 тысяч рублей, то сейчас сайты стоят в 10–20 раз больше. Это минимальная планка интернет-магазинов, которые мы сейчас делаем. На «тиражке» - 150, на заказном с дизайном - 350 тысяч.

Психологическая ограниченность многим мешает делать то, что они не делали вчера. Я не думаю, что чем-то от них отличаюсь. Постоянно обнаруживаю в себе ступоры, которые не дают мне сделать следующий шаг. Все время пытаюсь их снять, разговаривая с умными людьми. Нужно снимать внутренние барьеры и повышать степень осознанности.

AJAX - группа технологий, которая используется в веб разработке для создания интерактивных приложений. AJAX позволяет передавать данные с сервера без перезагрузки страницы. Таким образом можно получать очень впечатляющие результаты. А библиотека jQuery существенно облегчает реализацию AJAX с помощью встроенных методов.

Для реализации технологии используется метод $.ajax или jQuery.ajax :

$.ajax(свойства) или $.ajax(url [, свойства])

Второй параметр был добавлен в версии 1.5 jQuery.

url - адрес запрашиваемой страницы;

properties - свойства запроса.

Полный список параметров приведен в документации jQuery.

В уроке мы используем несколько наиболее часто используемых параметров.

success (функция) - данная функция вызывается после успешного завершения запроса. Функция получает от 1 до 3 параметров (в зависимости от используемой версии библиотеки). Но первый параметр всегда содержит возвращаемые с сервера данные.

data (объект/строка) - пользовательские данные, которые передаются на запрашиваемую страницу.

dataType (строка) - возможные значения: xml, json, script или html. Описание типа данных, которые ожидаются в ответе сервера.

type (строка) - тип запроса. Возможные значения: GET или POST. По умолчанию: GET.

url (строка) - адрес URL для запроса.

Пример 1

Простая передача текста.

$.ajax({ url: "response.php?action=sample1", success: function(data) { $(".results").html(data); } });

Для ответа имеется элемент div .result .

Ждем ответа

Сервер просто возвращает строку:

Echo "Пример 1 - передача завершилась успешно";

Пример 2

Передаем пользовательские данные PHP скрипту.

$.ajax({ type: "POST", url: "response.php?action=sample2", data: "name=Andrew&nickname=Aramis", success: function(data){ $(".results").html(data); } });

Сервер возвращает строку со вставленными в нее переданными данными:

Echo "Пример 2 - передача завершилась успешно. Параметры: name = " . $_POST["name"] . ", nickname= " . $_POST["nickname"];

Пример 3

Передача и выполнение кода JavaScript

$.ajax({ dataType: "script", url: "response.php?action=sample3", })

Сервер выполняет код:

Echo "$(".results").html("Пример 3 - Выполнение JavaScript");";

Пример 4

Используем XML. Пример можно использовать для работы с внешними XML, например, RSS фидом.

$.ajax({ dataType: "xml", url: "response.php?action=sample4", success: function(xmldata){ $(".results").html(""); $(xmldata).find("item").each(function(){ $(" ").html($(this).text()).appendTo(".results"); }); } });

Сервер должен возвращать XML код:

Header ("Content-Type: application/xml; charset=UTF-8"); echo true); // если $data не указан $response = array("success" => true, "data" => $data); // если $data указан

Использование wp_send_json_success($data, $status_code); $data(строка/массив/число/объект/логический) Данные, которые будут добавлены в результат в элемент массива data, перед кодирование в JSON.
По умолчанию: нет $status_code(число) HTTP статус код, который нужно установить. Какие бывают статус коды, . C WP 4.7.
По умолчанию: null Примеры #1 Определение успешной обработки AJAX запроса

Этот jQuery код отправляет AJAX запрос в файл плагина ajax/save_field.php:

JQuery(document).ready(function($){ $("#btn_save").click(function(e){ e.preventDefault(); $.post(pluginUrl + "ajax/save_field.php", $("#my-form").serialize(), function(json){ if(json.success) alert(json.data.message); else alert("Error" + json.data); }); }); });

Это код файла save_field.php , который обрабатывает переданный запрос. Здесь показано, как использовать wp_send_json_success() :