Reparei que alguns usuários buscaram no search do blog como se faz para saber se tem usuário logado.
Bem é muito simples, verificando se existe algum usuario logado:
<?php echo (Zend_Auth::getInstance()->hasIdentity())?"Logoff":"Login" ?>
Caso queira mostrar o nome do usuário por exemplo:
<?php
$auth = Zend_Auth::getInstance();
if ( $auth->hasIdentity() ){
$identity = $auth->getIdentity();
echo "Olá, $identity['nome']";
}
?>
Esse $identity['nome'] está se basendo no esquema usado no post anterior sobre Zend_Auth e Zend_Acl
Junho 23, 2009 at 2:42 pm
Isso não funciona. a variável $identity é um objeto e não um array.
Junho 23, 2009 at 2:56 pm
Funciona sim, eu sempre testo antes de postar =)
Olhe a documentação: http://framework.zend.com/manual/en/zend.auth.adapter.dbtable.html
o getIdentity retorna um array sim.
// Print the identityecho $result->getIdentity() . "\n\n";
// Print the result rowprint_r($authAdapter->getResultRowObject());
/* Output: my_username
Array(
[id] => 1
[username] => my_username
[password] => my_password
[real_name] => My Real Name)