我已经在zend 1.12中创建了一个登录系统,现在它显示了应用程序错误

时间:2015-09-09 07:57:52

标签: zend-framework login

我对控制器登录操作的代码最有可能是错误必须在$auth=Zend_Auth::getInstance();$result=$auth->authenticate($adapter);

  • 我正在使用zend 1.12
  • mysql数据库。

请帮我解决这个问题谢谢。

loginAction代码

public function indexAction() {

    $loginform = new Admin_Form_Adminlogin();
    $this->view->form = $loginform;
    $db = $this->_getParam('db');

    if ($loginform->isValid($_POST)) {

        $adapter = new Zend_Auth_Adapter_DbTable(
                $db, 
             'usr_reg',
              'email',
               'pass',
              'MD5(CONCAT(?, password_salt))'
        );

        $adapter->setIdentity($loginform->getValue('email'));
        $adapter->setCredential($loginform->getValue('pass'));

        $auth=  Zend_Auth::getInstance();
        $result=$auth->authenticate($adapter);
        if ($result->isValid()){
            echo 'logged in';
        }
    }
}

我使用单独的列存储pass_salt

我的表单是:

public function init() {

    $this->setMethod('post');

    $this->addElement(
            'text', 'email', array(
        'label' => 'Username:',
        'required' => true,
        'filters' => array('StringTrim'),
    ));

    $this->addElement('password', 'pass', array(
        'label' => 'Password:',
        'required' => true,
    ));

    $this->addElement('submit', 'submit', array(
        'ignore' => true,
        'label' => 'Login',
    ));
}

0 个答案:

没有答案