Salutations !
Pour ta première erreur, le message undefined index indique que tu tentes de faire appel à l'index d'un tableau alors que celui-ci n'existe pas. Si tu as ce message d'erreur quand tu affiches $_SESSION['system']['name'], c'est que le tableau de session $_SESSION['system'] ne contient pas d'index nommé 'name'.
Tu peux afficher le contenu de ton tableau avec var_dump() ou print_r() pour le constater.
Pour lire les informations que tu as en base avec PDO, il faut récupérer le résultat du fetch ou fetchall :
// tu prépares ta requête SQL avec prepare()
$sth = $pdo->prepare("SELECT * FROM ta_table");
// tu executes avec execute()
$sth->execute();
// tu récupères dans la variable $resultat un tableau associatif pour chaque enregistrement de ta_table
$resultat = $sth->fetchAll(PDO::FETCH_ASSOC);
Tu peux là encore vérifier le contenu de ta variable avec var_dump ou print_r :
echo '<pre>';
print_r($resultat);
echo '</pre>';
Quand au second point, php t'informes que tu tentes d'appeler la méthode close() de $this->db, alors que celle-ci n'existe pas. Il faut soit définir cette méthode, soit s'assurer qu'elle est bien sensée se trouver dans $this->db
