मैं यहाँ Zend प्रमाणन के माध्यम से एक प्रवेश प्रणाली बना दिया है अब कोडZend सत्र और Zend प्रमाणन
// userAuthentication
public function authAction(){
$request = $this->getRequest();
$registry = Zend_Registry::getInstance();
$auth = Zend_Auth::getInstance();
$DB = $registry['DB'];
$authAdapter = new Zend_Auth_Adapter_DbTable($DB);
$authAdapter->setTableName('user')
->setIdentityColumn('user_name')
->setCredentialColumn('user_password');
$username = $request->getParam('username');
$password = $request->getParam('password');
$authAdapter->setIdentity($username);
$authAdapter->setCredential($password);
$result = $auth->authenticate($authAdapter);
if($result->isValid()){
$data = $authAdapter->getResultRowObject(null,'password');
$auth->getStorage()->write($data);
$this->_redirect('/login/controlpannel');
}else{
$this->_redirect('/login/login');
}
}
यह काम ठीक है। उपयोगकर्ता (तालिका) में user_id (कॉलम) है जहां उपयोगकर्ता नाम और पासवर्ड भी हैं। मैं जो सिर्फ लॉगिन इस तालिका से है कि विशिष्ट user_id हो और इतना है कि मैं इस $ user_id के खिलाफ कुछ जानकारी क्वेरी कर सकता है के माध्यम से
$user_session = new Zend_Session_Namespace('user_session');
$user_session->username = $username;
$user_id->user_id = $user_id;
सत्र में डाल दिया और दृश्य में परिणाम पारित करने के लिए (नाम) ControlPanel जरूरत
आप मैन्युअल रूप से सत्र में क्यों रखना चाहते हैं? यह लॉगिन के बाद सत्र बना देगा और आप इसे स्टोरेज से प्राप्त कर सकते हैं। –
@Teez मैं भंडारण से user_id कैसे प्राप्त कर सकता हूं ??? –
$ डेटा = Zend_Auth :: getInstance() -> getStorage() -> पढ़ें(); $ यह-> देखें-> उपयोगकर्ता नाम = $ डेटा-> user_name; $ यह-> देखें-> आईडी = $ डेटा-> user_id; जानकारी के लिए –