使用zend获取user_id时遇到了很大的问题..
我的身份验证登录代码:
if($form->isValid($this->getRequest()->getPost())){
$adapter = new Zend_Auth_Adapter_DbTable(
null,
'sprzedawca',
'email',
'haslo',
'MD5(CONCAT(?, salt))'
);
$adapter->setIdentity($form->getValue('email'));
$adapter->setCredential($form->getValue('haslo'));
$auth = Zend_Auth::getInstance();
$wynik = $auth->authenticate($adapter);
if($wynik->isValid()){
//return $this->_helper->FlashMessenger('Pomyślnie zalogowano');
return $this->_helper->redirector(
'index',
'sprzedawca',
'default'
);
现在,当我尝试使用:
编写用户ID时Zend_Auth::getInstance()->getIdentity()
我只获得'用户名',但我想获得user_id
Zend_Auth::getInstance()->getIdentity()->user_id
也不起作用..
答案 0 :(得分:0)
我设法通过谷歌搜索获得此功能,试一试。
Zend_Auth::getInstance()->getIdentity()->User_ID
答案 1 :(得分:0)
好吧,我没有在登录时存储项目
应该是:
if($wynik->isValid()){
$storage = $auth->getStorage();
$storage->write($adapter->getResultRowObject('sprzedawca_id'));
现在效果很好
答案 2 :(得分:0)
我现在无法看到您的数据库方案,但我可以告诉您这对我有用。
<?php
$auth = Zend_Auth::getInstance();
$userId = $auth->getIdentity()->id;//user_id OR id depending your primary key of the user table.
echo $userId;
?>
注意: - $ userId = $ auth-&gt; getIdentity() - &gt; id; // id必须写成,因为它是你的用户表,其他明智的赢得了