AlwaysStudent
AlwaysStudent

Reputation: 1374

Want to get just two object in json

I am trying to make a code verifier with the following code. I've looked at the answers in StackOverflow but couldn't get the right result.

The code is working fine but I want to echo just two value.

validate.php page code is here:

if(isset($apKey) && isset($code))   {
    $en     = new En();
    $Key       = $apKey;
    $Codes = $code;

if($Key == null || $Codes == null)  {
    echo json_encode(['data' => 'No Key or code found, Please try again']);
    exit;
}  
  $response = $en->validate($Key,$Codes);
  $result = json_decode($response);
  $elements = json_encode(['data' => $result]); 
  echo $elements;
  exit;
}
  echo json_encode(['data' => 'No Key or code found, Please try again']);
  exit;

Now I am trying to check this validate page results using this code:

$siteurl = urlencode($_SERVER['SERVER_NAME']);
    $arrContextOptions = array(
        "ssl" => array(
            "verify_peer" => false,
            "verify_peer_name" => false
        )
    );
    $file = file_get_contents('http://www.validates.com/validate.php?code=' . $check , false, stream_context_create($arrContextOptions));
    $checks = json_decode($file, true);
    $elements = $checks['data']; 
    echo print_r($elements);

So the results something like this:

Array
   ( 
     [buyer] => abcd 
    )

So what I want to do. I want to echo just buyer and error message after this code: $checks = json_decode($file, true);

The error result is here:

{"data":{"error":404,"description":"No sale belonging to the current user found with that code"}}

Like for example:

if(buyer){echo 'true';}
if(error message){echo 'error';}

Upvotes: 0

Views: 58

Answers (1)

dWinder
dWinder

Reputation: 11642

I guess you can check with array_key_exists if there is error. You can do something like this:

$checks = json_decode($file, true);
$data = $checks['data']; 
if (array_key_exists("error", $data))
    echo $data["description"];
else 
    echo $data["buyer"]; 

Upvotes: 1

Related Questions