AJAX. JSON. ReCAPTCHA.

JSON

JSON (англ. JavaScript Object Notation, представление объектов JavaScript) - текстовый формат обмена данными, основанный на JavaScript. Как и многие другие текстовые форматы, JSON легко читается людьми. Формат JSON был разработан Дугласом Крокфордом.

JSON

JSON - текстовый формат, полностью независимый от языка реализации, но он использует соглашения, знакомые программистам C-подобных языков, таких как C, C++, C#, Java, JavaScript, Perl, Python и многих других. Эти свойства делают JSON идеальным языком обмена данными.

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

Поскольку формат JSON является подмножеством синтаксиса языка JavaScript, то он может быть быстро десериализован встроенной функцией eval(). Кроме того, возможна вставка вполне работоспособных JavaScript-функций. В языке PHP, начиная с версии 5.2.0, поддержка JSON включена в ядро в виде функций json_decode() и json_encode(), которые сами преобразуют типы данных JSON в соответствующие типы PHP и наоборот.

JSON основан на двух структурах данных:

В нотации JSON это выглядит так:

Объект - неупорядоченный набор пар ключ/значение. Объект начинается с { (открывающей фигурной скобки) и заканчивается } (закрывающей фигурной скобкой). Каждое имя сопровождается : (двоеточием), пары ключ/значение разделяются , (запятой).

Ключ описывается строкой
Object

Массив - упорядоченная коллекция значений. Массив начинается с [ (открывающей квадратной скобки) и заканчивается ] (закрывающей квадратной скобкой). Значения разделены , (запятой).

Array

Значение может быть строкой в двойных кавычках, числом, true, false, null, объектом или массивом. Эти структуры могут быть вложенными.

Value

Строка - это упорядоченное множество из нуля или более символов Unicode, заключенная в двойные кавычки, используя \ (обратную косую черту) в качестве символа экранирования. Символ представляется как односимвольная строка. Похожий синтаксис используется в C и Java.

String

Число представляется так же, как в C или Java, кроме того, что используется только десятичная система счисления.

Number
				
{
    "firstName": "Иван",
    "lastName": "Иванов",
    "age" : 36,
    "address": {
        "streetAddress": "Московское ш., 101, кв.101",
        "city": "Ленинград",
        "postalCode": "101101"
    },
    "phoneNumbers": [
        "812 123-1234",
        "916 123-4567"
    ]
}
				
			

JSON.parse() Парсинг JSON, т.е. перевод строки JSON в объект JavaScript

JSON.stringify() Перевод объекта JavaScript в строку JSON. Данный метод осуществляет действие обратное методу JSON.parse().

Пример 1. Преобразование объекта в JSON

Пример 2. Преобразование JSON в объект

Пример 3. Обмен данными между сервером и клиентом

json_encode Возвращает строку, содержащую JSON-представление.

json_decode Принимает закодированную в JSON строку и преобразует ее в переменную PHP.

ReCAPTCHA

reCAPTCHA

reCAPTCHA — система, разработанная для защиты веб-сайтов от интернет-ботов и одновременной помощи в оцифровке текстов книг.

Для начала необходимо добавить reCAPTCHA API key.

reCAPTCHA. Оффициальный сайт

Жмём на кнопку My reCAPTCHA

reCAPTCHA

Далее процесс авторизации. Необходимо иметь почтовый ящик от Google

reCAPTCHA

После чего происходит перенаправление на панель администрирования. Панель администрирования отображает список используемых "каптч", а так же находится форма для созданий новой "каптчи". В данном примере(в списке сверху) уже есть reCAPTCHA, которая используется.

reCAPTCHA
reCAPTCHA

Создадим новую "каптчу". Заполняем поля формы. Название можно задать любое. И выберем вторую версию "каптчи".

reCAPTCHA

Теперь пожалуй самое главное. В писке Домены необходимо указать для доменое имя сайта на котором будет использоваться создаваемая "каптча"(либо список доменов).

localhost - это своего рода тоже доменое имя и его разрешено использовать, как в принципе и другие имена, которыми Вы привыкли назвать ваши проекты в OpenServer. Самое главное чтобы имя не нарушало правило именовая доменов.
reCAPTCHA

Ставим галочку в поле согласия с условиями использования reCAPTCHA. И жмём на регистрацию.

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

reCAPTCHA
reCAPTCHA

Пример использования reCAPTCHA

Руководство по настройке reCAPTCHA v2(и не только)