Diskuze: Práce se Session
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.

Člen

Zobrazeno 13 zpráv z 13.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
Ahoj, jednoduše při přihlášení dám uživateli Session jmeno. A na stránce kde je to tlačítko dám jednoduchou podmínku.
if($_SESSION['jmeno']) {
echo '<button>Tlačitko</button>';
}
tato metoda je jen ukázková proto neobsahuje nějaké zabezpečení např jako tokeny v db.
Já jsem dělal... (viz přiklad)
if(empty($_SESSION["login"])){
}
else{
if(isset($_SESSION["login"])){
echo '<button>Tlačitko</button>';
}
}
a nefunkční
No děláš jednu věc několikrát, stačí když uděláš
if(isset($_SESSION["login"])){
echo '<button>Tlačitko</button>';
}
Toto by možná i fungovalo, jen tam máš nějak divně zapsané
else if
Vypadalo by to takto:
if(empty($_SESSION["login"])){
}
else if(isset($_SESSION["login"])){
echo '<button>Tlačitko</button>';
}
Ale lepší způsob psal Patrik Smělý.
No a když už jsme taky u toho, tak by bylo vhodně používat šablonovací php:
...
...
</div>
<? if( isset( $_SESSION[ "login" ] ) ) : ?>
<button>Tlačtko pro přihlášeného
<? endif ?>
<div class="...">
...
Konec ifu
Je to jako konec složené závorky.
if (podmínka) {
// kód
}
je stejné jako
if (podmínka):
// kód
endif;
Příkaz k ukončení if. Místo {} použiješ : a
endif.
Jak píše Martin Konečný (pavelco1998), který byl rychlejší.
Alternativní (šablonovací) forma zápisu if. HTML kód mezi
if(podmínka) : <HTML> endif;
se vypíše pouze při splněné podmínce. Stejně tak funguje
elseif (podmínka):
else :
Tady je dokumentace: http://php.net/…e-syntax.php
Ostatní už odpověděli
Tento přístup bych vždy preferoval (samozřejmě krom frameworků, které
mají často svojí vlastní šablonovací syntaxi).
// Stejně tak jde napsat třeba i for, foreach nebo while
Zobrazeno 13 zpráv z 13.