Afficher un lien que pour un utilisateur en particulier

Par PeopleOne, il y a 10 ans


Bonjour, comme indiqué dans le titre je souhaites afficher un lien que pour un utilisateur en particulier qui serai l'administrateur mais je n'y arrive pas, j'ai essayer quelques codes que j'ai trouvé mais aucun ne fonctionne sauf qui m'affiche ce que je veut mais à tous les utilisateurs

Voici le code qui fonctionne mais pas correctement

<?php $_SESSION['user_rang'] = '2'; { echo ' <p class="text-small" style="text-align:left">Administration</p> <button onclick="showAdmin()" class="button-menu icon-left no-border" style="display: block; width: 100%;"> <span class="sub-header no-margin text-light text-small">Dashboard adminstrateur</span> <span class="icon mif-user-md"></span> </button> '; } ?>

Merci par avance.

23 réponses

Carouge10, il y a 10 ans

Bonsoir,

Avec une condition, cela ira mieux.

<?php if($_SESSION['user_rang'] == '2') { echo ' <p class="text-small" style="text-align:left">Administration</p> <button onclick="showAdmin()" class="button-menu icon-left no-border" style="display: block; width: 100%;"> <span class="sub-header no-margin text-light text-small">Dashboard adminstrateur</span> <span class="icon mif-user-md"></span> </button> '; } ?>

Si vous ne savez pas faire cet élément basique, je vous invite à revoir les bases du php

arnich, il y a 10 ans

Il faut mettre un if pour tester une condition

PeopleOne, il y a 10 ans

J'ai fait comme vous avez dit mais cela ne fonctionne pas, même avec le 'if'.

Lounis, il y a 10 ans

rajoute un else ( sinon ) si le rang est inferieur a 2 il affiche rien lol

Lounis, il y a 10 ans
<?php if($_SESSION['user_rang'] == 2){ echo " <p class="text-small" style="text-align:left;">Administration</p> <button onclick="showAdmin()" class="button-menu icon-left no-border" style="display: block; width: 100%;"> <span class="sub-header no-margin text-light text-small">Dashboard adminstrateur</span> <span class="icon mif-user-md"></span> </button> " ; } else($_SESSION['user_rang'] < 2){ echo " " ; } ?>
Lounis, il y a 10 ans

Tu fais beaucoup de faute comme sur text-align:center tu oublie le " ; "

PeopleOne, il y a 10 ans

Il m'a sortir une erreur de ce genre :
Parse error: syntax error, unexpected '{' in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC11\data\localweb\accueil\head.php on line 418

Lounis, il y a 10 ans

Tu peut nous donner cette fameuse ligne s'il te plait ?

PeopleOne, il y a 10 ans
else($_SESSION['user_rang'] < 2){
Lounis, il y a 10 ans

Essaye sa , alors

else($_SESSION['user_rang'] == 1){
PeopleOne, il y a 10 ans

Rien ne fonctionne et quand je vais sur mon compte administrateur qui lui est à un rang de 2 il m'affiche une erreur or si je me connecter en tant que utilisateur en rang 0 il me l'affiche.

Lounis, il y a 10 ans

Bah c'est normal le rang d'un utilisateur c'est le quelle ? si c'est 0 tu change par :

else($_SESSION['user_rang'] == 0){
Lartak, il y a 10 ans

Bonsoir.

<?php if (isset($_SESSION['user_rang']) && $_SESSION['user_rang'] == 2): ?> <p class="text-small" style="text-align:left;">Administration</p> <button onclick="showAdmin()" class="button-menu icon-left no-border" style="display: block; width: 100%;"> <span class="sub-header no-margin text-light text-small">Dashboard adminstrateur</span> <span class="icon mif-user-md"></span> </button> <?php endif; ?>

Aucun besoin d'un else dans ce cas là.

flan, il y a 10 ans

else($_SESSION['user_rang'] == 0){
n'a pas une syntaxte correcte. Il faut plutôt faire
elseif($_SESSION['user_rang'] == 0){.

Remarque d'un point de vue syntaxique uniquement, je n'ai pas regardé la logique du code.

Spiker, il y a 10 ans

Normal que rien ne marche, conditions mal faite, else inutile, sans oublié les " qui en sont pas échapé... avec la solution de Lartak ça devrait être bon.

PeopleOne, il y a 10 ans

Merci Lartak pour ton idée sauf que rien ce passe , rien ne s'affiche dans les deux cas que je soit admin ou pas, et j'ai bien testé si je met :

<?php if (isset($_SESSION['user_pseudo']) && $_SESSION['user_pseudo'] == admin): ?> <p class="text-small" style="text-align:left;">Administration</p> <button onclick="showAdmin()" class="button-menu icon-left no-border" style="display: block; width: 100%;"> <span class="sub-header no-margin text-light text-small">Dashboard adminstrateur</span> <span class="icon mif-user-md"></span> </button> <?php endif; ?>

Mais rien, je pense que sa peut venir de ma configuration de mon serveur local ou autres programmation de site web, merci quand beaucoup pour vos aides ;) si j'ai bessoin je reviendrai :D

Lartak, il y a 10 ans

Est-ce que tu as regardé ce que vaut ta variable de session ?

PeopleOne, il y a 10 ans

c'est à dire ?

Lartak, il y a 10 ans

Mets ceci avant la condition :

<pre><?= var_dump($_SESSION) ?></pre>

Et montres nous ce que ça retourne.

PeopleOne, il y a 10 ans

Voilà ce que sa m'affiche :

array(12) {
["form_mdp_verif"]=>
string(0) ""
["mdp_info"]=>
string(0) ""
["form_mail"]=>
string(0) ""
["mdp_verif_info"]=>
string(0) ""
["mail_info"]=>
string(0) ""
["form_mail_verif"]=>
string(0) ""
["form_mdp"]=>
string(0) ""
["pseudo_info"]=>
string(0) ""
["form_pseudo"]=>
string(0) ""
["mail_verif_info"]=>
string(0) ""
["reponse_nfo"]=>
string(0) ""
["utilisateur"]=>
array(14) {
["user_id"]=>
string(2) "55"
[0]=>
string(2) "55"
["user_nom"]=>
string(22) "DEVELOPPEMENT WINBOARD"
[1]=>
string(22) "DEVELOPPEMENT WINBOARD"
["user_pseudo"]=>
string(3) "dev"
[2]=>
string(3) "dev"
["user_mdp"]=>
string(32) "d41d8cd98f00b204e9800998ecf8427e"
[3]=>
string(32) "d41d8cd98f00b204e9800998ecf8427e"
["user_rang"]=>
string(1) "0"
[4]=>
string(1) "0"
["user_mail"]=>
string(0) ""
[5]=>
string(0) ""
["reponse"]=>
NULL
[6]=>
NULL
}
}

Lartak, il y a 10 ans

C'est normal alors, les infos de l'utilisateur sont dans la clé utilisateur, modifies par :

<?php if (isset($_SESSION['utilisateur']['user_rang']) && $_SESSION['utilisateur']['user_rang'] == 2): ?> <p class="text-small" style="text-align:left;">Administration</p> <button onclick="showAdmin()" class="button-menu icon-left no-border" style="display: block; width: 100%;"> <span class="sub-header no-margin text-light text-small">Dashboard adminstrateur</span> <span class="icon mif-user-md"></span> </button> <?php endif; ?>
PeopleOne, il y a 10 ans

Merci super, sa fonctionne sans vous sa n'aurai pas fonctionner, et je n'aurai pas pu faire ce que je voulait.

Lartak, il y a 10 ans

De rien, avec plaisir.