2012-03-25 54 views
2

我正在使用Zend,並且我發送了一封郵件給所有包含郵件鏈接的成員。只有登錄的會員才能發表評論,但所有訪客都可以看到。當然,無論誰點擊電子郵件中的鏈接,都應該能夠立即發表評論。 出於這個原因我想找出是檢查是否點擊鏈接的成員登錄或沒有一種方法: -Zend:使用電子郵件URL登錄後重定向到頁面

  • 如果已經登錄郵件中的URL應該採取的成員郵政直接。
  • 如果未成功登錄,則將該成員轉發到登錄頁面,然後轉到包含在鏈接中的正確URL。

我希望我解釋一下自己。請問我是否。有人可以請建議最好的方法來做到這一點?

謝謝。 F.

回答

1
public function emailAction() 
{ 
$loggedIn = Zend_Auth::getInstance()->getIdentity(); 
if($loggedIn) 
{ 
$this->_helper->_forward('post); 
}else { 

    $this->_helper->_forward('login'); 
} 
} 

public function loginAction() 
{ 
$success = new Zend_Session_Namespace('success'); 
if(!isset($success->url)) 
{ 
    $success->url = $this->view->serverUrl(true); 
} 
$form = new Login_Form(); 
if($this->getRequest()->isPost() && $form->isValid($_POST)) 
{ 
$this->_redirect($success->url); 
} 

} 
+0

這看起來很有趣。謝謝。 – firefiter 2012-03-26 09:59:33

2

創建一個插件,並使用保存請求的URI的會話:

$this->_session->lastUrl = $this->getRequest()->getRequestUri(); 

然後,用戶輸入他的憑據後,他重定向到這個URL保存。

另一種方法是保存url並將它作爲參數添加到下一個請求中,如Google,Yahoo和SO。

+0

謝謝你Liyali。我會研究這 – firefiter 2012-03-25 12:56:19

+0

不客氣;) – Liyali 2012-03-25 13:35:26