PHP-ის $_POST ცვლადები და JSON ფორმატის ინფორმაცია ბეჭდვა


ბოლო პერიოდში პოპულარული ხდება POST მეთოდით JSON ფორმატირებული ინფორმაციის გაცვლა სერვისებს შორის.

სტანდარტულად მოლოდინი გვაქვს რომ ასე მიწოდებული ინფორმაცია დაგვხვდება სერვერის მხარეს $_POST ან/და $_REQUEST ცვლადებში, რაც ერთის მხრივ ლოგიკურია მაგრამ PHP ასე არ მუშაობს.

PHP-ში POST მოთხოვნის დამუშავებისას $_POST ან/და $_REQUEST ხვდება მხოლოდ იმ შემთხვევაში ინფორმაცია თუ მოთხოვნისას Content-Type სათაურის აქვს მნიშვნელობა: application/x-www-form-urlencoded ან multipart/form-data. სხვა შემთხვევაში POST-ით გადაცემული ინფორმაცია $_POST ან/და $_REQUEST ცვლადებში არ გვხვდება.

JSON ინფორმაციის გადაცემისას კი Content-Type-ს აქვს მნიშვნელობა application/json.

იმისთვის რომ JSON ფორმატით ჩაწოდებული ინფორმაცია წაკითხოთ PHP-ში, საჭიროა ინფორმაციის php://-დან წაკითხვა.

აქვე მოგვავს მაგალითი თუ როგორ შეგიძლიათ POST-ით გადაცემული JSON ინფორმაციის მიღება PHP-ში:

<?php

$jsonInput = file_get_contents('php://input');

$data = json_decode($jsonInput, true);

var_dump($data);

?>

« უკან დაბრუნება