2010-05-19 3 views
0

J'ai ces onglets sur ma navigation:php aide à la navigation cachette avec cookies

<li<?php if ($thisPage=="Customers") echo " class=\"current\""; ?>><a href="/customers/">Customers</a></li> 
<li<?php if ($thisPage=="Trunks") echo " class=\"current\""; ?>><a href="/trunks/">Trunks</a></li> 
<li<?php if ($thisPage=="Settings") echo " class=\"current\""; ?>><a href="/settings/">Settings</a></li> 

et je veux seulement leur montrer quand admin est connecté:

if ($_COOKIE['custid'] == "admin") { 

echo "Customers"; 
echo "Trunks"; 
echo "Settings"; 

} 

Comment puis-je combiner les deux de ces scripts ???

+5

Le stockage de votre drapeau d'administration dans un cookie est probablement la chose la plus dangereuse que vous puissiez faire. –

+0

Quelle est la meilleure façon de séparer le contenu de l'utilisateur du contenu de l'administrateur ??? – user342391

+0

Utilisez une session et stockez votre ID session sur admin sur le serveur. Ne faites JAMAIS confiance au client ... et si quelqu'un venait d'éditer le cookie pour dire qu'il était administrateur? Est-ce que cela leur donnerait alors le contrôle? –

Répondre

0
<?php 
if ($_COOKIE['custid'] == "admin") { ?> 
<li<?php if ($thisPage=="Customers") echo " class=\"current\""; ?>><a href="/customers/">Customers</a></li> 
<li<?php if ($thisPage=="Trunks") echo " class=\"current\""; ?>><a href="/trunks/">Trunks</a></li> 
<li<?php if ($thisPage=="Settings") echo " class=\"current\""; ?>><a href="/settings/">Settings</a></li> 
<?php } ?> 

Assez simple, mettez-le dans l'autre ...

0

pas exactement ce que vous voulez dire, mais:

<?php 
if ($_COOKIE['custid'] == "admin") { ?> 
<li<?php if ($thisPage=="Customers") echo " class=\"current\""; ?>><a href="/customers/">Customers</a></li> 
<li<?php if ($thisPage=="Trunks") echo " class=\"current\""; ?>><a href="/trunks/">Trunks</a></li> 
<li<?php if ($thisPage=="Settings") echo " class=\"current\""; ?>><a href="/settings/">Settings</a></li> 
<?php } else { ?> 
<li><a href="/customers/">Customers</a></li> 
<li><a href="/trunks/">Trunks</a></li> 
<li><a href="/settings/">Settings</a></li> 
<?php } ?> 

// OR 

<li<?php if ($_COOKIE['custid'] == "admin" && $thisPage=="Customers") echo " class=\"current\""; ?>><a href="/customers/">Customers</a></li> 
<li<?php if ($_COOKIE['custid'] == "admin" && $thisPage=="Trunks") echo " class=\"current\""; ?>><a href="/trunks/">Trunks</a></li> 
<li<?php if ($_COOKIE['custid'] == "admin" && $thisPage=="Settings") echo " class=\"current\""; ?>><a href="/settings/">Settings</a></li> 

Et je suis d'accord avec @webdestroya dans les commentaires sur le poste lui-même; vous devriez utiliser une session ou similaire à la place d'un cookie pour vérifier le statut de l'administrateur. Je ne l'ai pas changé ici pour l'exemple.

1

Traiter le "admin dans cookie" question comme une question distincte ...

<?php if($admin): ?> 
    <li<?php if ($thisPage=="Customers"): ?> class="current"<?php endif; ?>><a href="/customers/">Customers</a></li> 
    <li<?php if ($thisPage=="Trunks"): ?> class="current"<?php endif; ?>><a href="/trunks/">Trunks</a></li> 
    <li<?php if ($thisPage=="Settings"): ?> class="current"<?php endif; ?>><a href="/settings/">Settings</a></li> 
<?php endif; ?> 
syntaxe en ligne de

PHP est beaucoup plus agréable que d'utiliser {} et echos à l'intérieur de html