У вас уже есть основная идея.
Вы должны проверить, что значение установлено, а также убрать лишние косые черты из входящей строки, прежде чем анализировать ее как JSON.
if(isset($_POST['data'])){
$array = json_decode(stripslashes($_POST['data']),true);
//$array now holds an associative array
}//Data Exists
Перед началом работы с массивом неплохо было бы также проверить, что вызов json_decode()
прошел успешно, убедившись, что $array
не является null
перед использованием.
Если вы не полностью доверяете целостности отправляемой информации, вам следует выполнить расширенную проверку по пути, а не полагать, что данный ключ существует.
if($array){ // Or (!is_null($array)) Or (is_array($array)) could be used
//Process individual information here
//Without trust
if(isset($array['Firstname'])){
$CustomerId = $array['Firstname'];
}//Firstname exists
}//$array is valid
В частности, мне нравится проверять информацию при динамическом построении запросов на информацию, которая может не потребоваться для успешной вставки БД.
В приведенном выше примере $_POST['data']
указывает, что то, что когда-либо называлось PHP-скриптом, делало так, передавая строку JSON с помощью метода post
в переменную, обозначенную как data
.
Вы можете проверить более универсально, чтобы обеспечить гибкость в методе отправки, используя переменную $_REQUEST
, или, если вы знаете, что это происходит, как с помощью метода get
, вы можете проверить $_GET
. $_REQUEST
содержит все входящие параметры из get
и post
.
Если вы не знаете, как называется переменная, и хотите играть очень быстро и свободно, вы можете циклически перебирать клавиши в $_REQUEST
, пытаясь декодировать каждую из них и использовать ту, которая успешно декодировалась (если любой). [Примечание: я не поощряю это]