I am working with the Minecraft API and am attempting to decode JSON, and set a key as variable so that I can call it at another point. Here's my code that produces the error:
//grabbing the users information
if ($content = file_get_contents('https://api.mojang.com/users/profiles/minecraft/' . urlencode($username))) {
    //do nothing
} else {
    $content = file_get_contents('https://api.mojang.com/users/profiles/minecraft/' . urlencode($username) . '?at=0');
    $json = json_decode($content);
    foreach ($json as $currentName) {
        $input = $currentName->name;
    }
    $userSkin = "<img src='https://mcapi.ca/skin/3d/$currentName' />";
}
and here's the error:
Trying to get property of non-object in ... on line 31
Full PHP Code:
<?php
// Load the username from somewhere
if (
$username = $_POST["username"]
) {
    //do nothing 
} else {
    $username = "notch";
}
//allow the user to change the skin
$skinChange = "<a href='https://minecraft.net/profile/skin/remote?url=http://skins.minecraft.net/MinecraftSkins/$username.png' target='_blank' </a>";
//url to users 3D head (avatar)
$usersAvatar = "https://mcapi.ca/avatar/2d/$username/55";
//user's Avatar as favivon
$usersFavicon = "<link rel='shortcut icon' href='$usersAvatar' type='image/png' />";
//grabbing the users information
if ($content = file_get_contents('https://api.mojang.com/users/profiles/minecraft/' . urlencode($username))
) {
  //do nothing
} else {
  $content = file_get_contents('https://api.mojang.com/users/profiles/minecraft/' . urlencode($username) . '?at=0');
   $json = json_decode($content);
   foreach ($json as $currentName) {
    $input = $json['name'];
   }
   $userSkin = "<img src='https://mcapi.ca/skin/3d/$currentName' />";
}
// Decode it
$json = json_decode($content);
// Check for error
if (!empty($json->error)) {
    die('An error happened: ' . $json->errorMessage);
}
// Save the uuid
$uuid = $json->id;
// Get the history (using $json->uuid)
$content = file_get_contents('https://api.mojang.com/user/profiles/' . urlencode($uuid) . '/names');
// Decode it
$json = json_decode($content);
$names = array(); // Create a new array
foreach ($json as $name) {
    $input = $name->name;
    if (!empty($name->changedToAt)) {
        // Convert to YYYY-MM-DD HH:MM:SS format
        $time = date('Y-m-d H:i:s', $name->changedToAt);
        $input .= ' (changed at ' . $time . ')';
    }
    $names[] = $input; // Add each "name" value to our array "names"
}
//use $uuid tp grab UUID of the user - ---- - - - use $names to get name history of the user.
?>
Using var_dump($currentName); produces this output string(8) "_scrunch"
 
     
     
    