Avatar
Kejmou
Člen
Avatar
Kejmou:

Ahoj,

chci se zeptat, jak by jste udělali script, že nepřihlášený uživatel neuvidí tlačítko a přihlášený uživatel to tlačítko vidí.

Děkuju.

 
Odpovědět 13.3.2015 23:30
Avatar
Patrik Smělý (SogoCZE)
Tým ITnetwork
Avatar
Odpovídá na Kejmou
Patrik Smělý (SogoCZE):

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.

Nahoru Odpovědět 13.3.2015 23:38
PHP můj oblíbený jazyk......
Avatar
Kejmou
Člen
Avatar
Odpovídá na Patrik Smělý (SogoCZE)
Kejmou:

Já jsem dělal... (viz přiklad)

if(empty($_SESSION["login"])){

}
else{
if(isset($_SESSION["login"])){
echo '<button>Tlačitko</button>';

}
}
a nefunkční
 
Nahoru Odpovědět 13.3.2015 23:40
Avatar
Patrik Smělý (SogoCZE)
Tým ITnetwork
Avatar
Odpovídá na Kejmou
Patrik Smělý (SogoCZE):

No děláš jednu věc několikrát, stačí když uděláš

if(isset($_SESSION["login"])){
echo '<button>Tlačitko</button>';
}
Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
Nahoru Odpovědět  +1 13.3.2015 23:45
PHP můj oblíbený jazyk......
Avatar
Odpovídá na Kejmou
Michal Šmahel (ceskyDJ):

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ý (SogoCZE).

Editováno 14.3.2015 0:12
Nahoru Odpovědět 14.3.2015 0:11
Nejdůležitější je motivace, ovšem musí být doprovázena činy.
Avatar
Kejmou
Člen
Avatar
Kejmou:

Spokojenost, jde to podle mých představ. :-) Děkuji

 
Nahoru Odpovědět  +2 14.3.2015 0:16
Avatar
Jan Kožnárek (Creevek_CZ):

Tohle jsem dělal asi před třemi dny s tím rozdílem že tlačítko bylo vidět pořád ale měnilo se value a funkce celého tlačítka. :D

Nahoru Odpovědět  +1 14.3.2015 9:14
Lenost matka pokroku. Twitter: @Creevek_CZ
Avatar
Jiří Gracík
Redaktor
Avatar
Jiří Gracík:

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="...">
        ...
Nahoru Odpovědět  +1 14.3.2015 9:47
Creating websites is awesome till you see the result in another browser ...
Avatar
Kejmou
Člen
Avatar
Odpovídá na Jiří Gracík
Kejmou:

Mohu se zeptat, co je to endif?

 
Nahoru Odpovědět 14.3.2015 11:02
Avatar
Odpovídá na Kejmou
Martin Konečný (pavelco1998):

Konec ifu :D
Je to jako konec složené závorky.

if (podmínka) {
  // kód
}

je stejné jako

if (podmínka):
  // kód
endif;
 
Nahoru Odpovědět  +1 14.3.2015 11:03
Avatar
IT Man
Redaktor
Avatar
Odpovídá na Kejmou
IT Man:

Příkaz k ukončení if. Místo {} použiješ : a endif. :)

Jak píše Martin Konečný (pavelco1998), který byl rychlejší. :D

Editováno 14.3.2015 11:05
Nahoru Odpovědět 14.3.2015 11:04
Když nevíš jak dál, podá ti ruku někdo, od koho by jsi to nečekal. A tu šanci musíš přijmout!
Avatar
Odpovídá na Kejmou
Lukáš Červený:

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

 
Nahoru Odpovědět 14.3.2015 11:07
Avatar
Jiří Gracík
Redaktor
Avatar
Odpovídá na Kejmou
Jiří Gracík:

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

Editováno 14.3.2015 16:06
Nahoru Odpovědět  -1 14.3.2015 16:05
Creating websites is awesome till you see the result in another browser ...
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 13 zpráv z 13.