Захват данных Json

  • Автор темы I AM
  • Обновлено
  • 13, May 2024
  • #1
Здравствуйте! Надеюсь, кто-нибудь укажет мне правильное направление. Я использую формы Cognito (которые превосходны) и пытаюсь фиксировать результаты отправки форм с помощью предлагаемого ими средства Json.

Хоть убей, я не могу заставить это работать и подозреваю, что никогда не смогу!

Каждый раз, когда отправляется форма, Cognito вызывает определенную страницу на моем сайте, которая, как они ожидают, получит данные Json.

Соответствующая часть их инструкций такова:

«Настройте свой веб-сервер так, чтобы этот сценарий мог получать HTTP POST и вставлять данные в вашу базу данных.

Например, создайте на своем веб-сервере новый сценарий под названием save_contact.php, чтобы при выполнении POST http://mysite.com/save_contact.php

сценарий выполняется».

Во-первых, я не использую PHP, поэтому это не новичок, но, учитывая, что они говорят о HTTP POST, я предполагаю, что POST будет передавать значения для именованных переменных.

Если это так, то я мог бы получить эти переменные (если бы я знал, как они называются), используя свой язык сценариев на вызываемой странице, чтобы идентифицировать данные входной формы Json, и просто сохранить этот фрагмент в файл для последующего анализа и обработки.

Просто подумал, что спрошу здесь на случай, если кто-нибудь делает что-то подобное с использованием JavaScript или имеет опыт работы с процессом Json.

Извиняюсь, если что-то из этого звучит бестолково - я знаю, что хочу сделать, но просто не знаю, как это сделать!!!

I AM


Рег
23 Jul, 2011

Тем
403760

Постов
400028

Баллов
2418908
  • 01, Jun 2024
  • #2
Ваш веб-сервер будет использовать какой-то язык сценариев на стороне сервера, а для общего хостинга по умолчанию используется PHP, хотя вы можете использовать ASP или Ruby. Вы не можете ничего сохранить в своей базе данных без какого-либо сценария на стороне сервера для обработки вызова, поэтому что-то должно перехватить этот json, преобразовать его в SQL и сохранить. Обратитесь в свою хостинговую компанию и узнайте, действительно ли у вас есть PHP, и тогда мы сможем помочь вам заставить работать базу данных.
 

Lyreywk


Рег
29 Jun, 2011

Тем
59

Постов
194

Баллов
509
  • 04, Jun 2024
  • #3
Данные, отправленные на ваш сервер через HTTP POST, будут доступны в ассоциативном массиве с именем $_POST[] Поэтому, если вы не знаете имена ключей массива (индексы), вы можете просто сделать var_dump().

Пример:

 <?php
$user_email = $_POST['email'];
$user_fullname = $_POST['full_name'];

//...etc
?>


PHP: Зная имена ключей, вы можете просто получить доступ к элементам массива следующим образом:

 <?php var_dump( $_POST ); ?>


PHP: Затем вы можете вставить эти данные в базу данных или даже составить новое электронное письмо со всеми данными и отправить его на свой личный/официальный почтовый ящик!

Надеюсь это поможет!

Если вам все еще трудно и вы ищете кого-то, кто сделает всю работу за вас, вы можете написать мне сообщение.

Я смогу сделать это (оплачиваемую работу) для вас! Мое имя пользователя совпадает с моим идентификатором Skype. Надеюсь это поможет!
 

Tverdy


Рег
01 Jan, 2011

Тем
60

Постов
182

Баллов
502
  • 08, Jun 2024
  • #4
Я очень благодарен за ваш вклад. Я использую древний письменный язык под названием MivaMia, который появился примерно в то же время, когда были уничтожены динозавры, — он подходил мне много лет назад, и у меня никогда не было возможности обновить свои элементарные навыки.

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

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

Если я смогу поместить данные JSON в файл с помощью PHP, то после этого я, вероятно, вернусь в свою зону комфорта и использую MivaMia, чтобы распаковать их и загрузить базу данных DBF!

Следуя вашей заметке, мне пока удалось запустить на своем сервере простой PHP-скрипт и выполнить некоторые элементарные действия, включая запись в файл.

Теперь, когда это, кажется, работает, я начну возиться с JSON, используя ваши предложения.

И я думал, что дни моего обучения остались позади!!

Еще раз большое спасибо за вашу помощь.
 

Surho1


Рег
23 Nov, 2012

Тем
49

Постов
194

Баллов
469
  • 13, Jun 2024
  • #5
На случай, если кто-то еще будет бороться так же, как и я, я в конце концов заставил PHP делать то, что мне нужно.

Извините за качество кодирования PHP - мне пришлось изучить основы за последнюю неделю или около того...

Теперь я могу принимать и сохранять входящие вызовы Json на эту простую веб-страницу PHP, и в конце вызова у меня теперь есть файл со всеми данными Json, который я затем могу проанализировать, чтобы изолировать имена полей и связанные значения полей.

Вероятно, есть более аккуратные и лучшие способы, но на данный момент меня это устраивает.

Спасибо за вашу помощь.

 <?php
 $myfile = fopen("json_data.txt", "w") or die("Unable to open file!");

 $json = file_get_contents("php://input");
 if (empty($json)) {
 $txt= "No payload\n";
 fwrite($myfile, $txt);
 die;
 } else {
 $txt= "Json not empty\n";
 fwrite($myfile, $txt);
 }

 $tours = json_decode($json,true);

 if ($tours == null && json_last_error() !== JSON_ERROR_NONE) {
 $txt= "Error reading JSON:\n";
 fwrite($myfile, $txt);
 } else {
 $txt= "Json read OK\n";
 fwrite($myfile, $txt);
 }
 fwrite($myfile, json_encode($tours,JSON_UNESCAPED_UNICODE));
 fclose($myfile);
?>


PHP:
 

Datak Iprosto


Рег
06 Sep, 2012

Тем
65

Постов
182

Баллов
537