Diskuze: Práce se Session

PHP PHP Práce se Session American English version English version

Aktivity (1)
Avatar
Kejmou
Člen
Avatar
Kejmou:13.3.2015 23:30

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ý
Tým ITnetwork
Avatar
Odpovídá na Kejmou
Patrik Smělý:13.3.2015 23:38

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
Avatar
Kejmou
Člen
Avatar
Odpovídá na Patrik Smělý
Kejmou:13.3.2015 23:40

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ý
Tým ITnetwork
Avatar
Odpovídá na Kejmou
Patrik Smělý:13.3.2015 23:45

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
Avatar
Odpovídá na Kejmou
Michal Šmahel:14.3.2015 0:11

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ý.

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:14.3.2015 0:16

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):14.3.2015 9:14

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
Neaktivní uživatel:14.3.2015 9:47

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
Neaktivní uživatelský účet
Avatar
Kejmou
Člen
Avatar
Odpovídá na Neaktivní uživatel
Kejmou:14.3.2015 11:02

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):14.3.2015 11:03

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
Aktuálně připravuji browser RPG, FB stránka - https://www.facebook.com/AlteiraCZ
Avatar
IT Man
Redaktor
Avatar
Odpovídá na Kejmou
IT Man:14.3.2015 11:04

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
Cokoliv a kdokoliv může jednou uspět.
Avatar
Odpovídá na Kejmou
Lukáš Červený:14.3.2015 11:07

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
Odpovídá na Kejmou
Neaktivní uživatel:14.3.2015 16:05

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
Neaktivní uživatelský účet
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.