Problème fonction grade

Par Yubo, il y a 10 ans


Bonsoir à vous, j'essaye de réaliser une petite fonction pour afficher l'icon et le nom du grade mais j'ai une erreur

Notice: Trying to get property of non-object

<?= grade(htmlspecialchars($_SESSION['auth']->rank)); ?> function grade($type){ switch($type){ case 0: return $grade = array("grade" => "Bannis", "icon" => "ban"); break; case 1: return $grade = array("grade" => "Membre", "icon" => "user"); break; case 2: return $grade = array("grade" => "Modérateur", "icon" => "star"); break; case 3: return $grade = array("grade" => "Administrateur", "icon" => "bullhorn"); break; case 4: return $grade = array("grade" => "CEO", "icon" => "bolt"); break; } }

merci

10 réponses

Lartak, il y a 10 ans

Bonsoir.
Es-tu sur pour ton :

$_SESSION['auth']->rank

Ce ne serait pas plutôt :

$_SESSION['auth']['rank']

Car le message d'erreur signifie que tu essais d'accéder à une propriété d'un élément qui n'est pas un objet.

Yubo, il y a 10 ans

Bonsoir,
Non, du tout en gros $_SESSION['auth']->rank dit sois, 0,1,2,3 ou 4. C'est juste pour le passer en param dans ma fonction.

Yubo, il y a 10 ans

Screen du code et de l'erreur

Lartak, il y a 10 ans

Ok, l'erreur vient surtout du htmlspecialchars, qui attend une chaine de type string, et non un tableau.

Yubo, il y a 10 ans

ça me remet une seconde erreur

Lartak, il y a 10 ans

C'est une erreur que tu as sur deux lignes du même fichier (60 et 63).

Yubo, il y a 10 ans

Tableau vide maintenant :/ Il ne me retourne rien

Carouge10, il y a 10 ans

$type est un int ou un string dans votre fonction grade ?

Yubo, il y a 10 ans

mon type est un int

Yubo, il y a 10 ans

Problème résolu