사용자 로그인 및 인증을 위해 이메일 확인을 사용했습니다. 그의 이메일로 보낸 링크를 클릭하면 상태가 status=1
이되도록 코드를 작성했습니다. 그런 다음 로그인 페이지로 리디렉션됩니다. 그는 등록시 주어진 것과 동일한 세부 사항으로 로그인해야합니다. 전자 메일 주소와 암호가 일치 할 때 사용자가 인증되고 로그인 한 유효성 검사를 작성했습니다. 그러나 유효성 검사에서 상태가 1인지 여부도 확인해야하며 사용자가 허용되어야하는 조건 하나를 추가해야합니다. status=1
일 때만 로그인하십시오. 이를 위해 로그인 액션에 변수를 추가하고 where status=1
을 확인해야합니다. 어떻게해야합니까? 아래 코드에서 나는 email
과 password
에 대해서만 유효성을 검사하고 있습니다. status=1
조건을 만족시키는 방법?젠드 프레임 워크 등록 1.12 확인 이메일 메커니즘
이 내 loginAction
public function loginAction()
{
if(Zend_Auth::getInstance()->hasIdentity())
{
$this->_helper->redirector('register','user','default');
}
$authAdapter = $this->getAuthAdapter();
if(isset($_POST['submit']))
{
$post=$this->_request->getPost();
$email = $post['user_email'];
$password = $post['password'];
$authAdapter->setIdentity($email)
->setCredential($password);
$auth = Zend_Auth::getInstance();
$result = $auth->authenticate($authAdapter);
if($result->isvalid()){
$identity = $authAdapter->getResultRowObject();
$authStorage = $auth->getStorage();
$authStorage->write($identity);
$this->_helper->redirector('register','user','default');
echo 'valid';
} else {
$this->view->errorMessage = "User name or password is incorrect";
}
}
이 내 statusAction입니다
public function statusAction()
{
$url = explode('&',urldecode($this->_getParam('k')));
$data['email'] = $url[0];
$data['status'] = 1;
$data['access_key'] = $url[1];
$mapper = new Application_Model_UserMapper();
$status = $mapper->update($data);
$this->_helper->redirector('index','projects','default');
}
그것은 @arnerie – Rajitha
당신이 좀 더 많은 정보를 정기적으로하시기 바랍니다 제공 할 수있는 작동하지 않습니다? ;) – opHASnoNAME