Thank you Hector Virgen, Daniel Latter and kamil for your kind advise.

I think setting a session variable to all the last visited pages may not be a good solution. Also $this->_redirect($this->_request->getRequestUri()) redirects to the current page.

In my project, Hector's solution may work well. I will add extra variable with $this->_request->getRequestUri() as a value to my link like: <a href="<?php echo $this->baseUrl(); ?>/login/referrer/$this->_request->getRequestUri()">Login</a> (in this case, login is a action of a auth or user controller)

Question is resolved now.

Thank you Hector Virgen! ;-)



Hector Virgen wrote:
I've used a query parameter to accomplish this. The link to my login page looks like this:

<a href="/login?to=/some/other/page">Login</a>

When the login page is visited, the auth controller checks for the "to" parameter and saves it in a session namespace that automatically expires in 5 minutes. When the user successfully logs in, it redirects to the value stored in the session or to a default home page if its not found.

This allowed me to create a view helper that creates the login URL with the "to" parameter automatically set up. I also was able to create an action controller helper that does a redirect to the login page in case an unauthenticated user attempts to access a page that requires authentication.

The same can be done with the logout link.

--
Hector


On Thu, Aug 20, 2009 at 4:09 AM, kamil <luznyg...@poczta.onet.pl <mailto:luznyg...@poczta.onet.pl>> wrote:

    Enkhbilguun Erdenetsogt pisze:

        Thank you for you email, Daniel Latter.

        As your advise, I created hidden form element that stores the
        page path, and it is working if the login is in the page the
        user was on.

        $returnUrl = new Zend_Form_Element_Hidden('returnUrl');
        
$returnUrl->setValue(Zend_Controller_Front::getInstance()->getRequest()->getRequestUri());


        However, if a user is forwarded to the login page, above
        method won't work as I'm expecting. I don't know much about
        HTTP_Referrer, but I guess I would be the same as hidden form
        method.
        In that case, how can I store the page path?

        Please advise me.

        Thank you very much for your support.


        Daniel Latter wrote:

            Hi,

            You will need to capture and store the page path the user
            was on. Then you can use the redirector, see here:

            
http://framework.zend.com/manual/en/zend.controller.actionhelpers.html#zend.controller.actionhelpers.redirector


            Dan

            2009/8/20 Enkhbilguun Erdenetsogt <enkhbilg...@beregu.com
            <mailto:enkhbilg...@beregu.com>
            <mailto:enkhbilg...@beregu.com
            <mailto:enkhbilg...@beregu.com>>>

               Hello,

               I'm building a user login/logout functionality in my ZF
            project. I
               just want to forward a user, just logged in or out, to
            the page
               before the user logged in or out. Could you tell me
            which commands
               I should use?


               Thank you very much friends.




Just redirect user to $this->_redirect($this->_request->getRequestUri());
    it works :)
    But in my projects i am forwarding user to login page not
    redirecting , so the adress in browser does not change



begin:vcard
fn:Enkhbilguun Erdenetsogt
n:Erdenetsogt;Enkhbilguun
email;internet:enkhbilg...@beregu.com
tel;cell:99113638
x-mozilla-html:TRUE
version:2.1
end:vcard

Reply via email to