So what is the problem? It sounds like it is working as expected -- with 
the "not session.visitor_name" condition, you get a redirect if no name has 
previously been entered on the first page, correct? Are you observing 
something different? Note, once you have visited the first page, you can 
then visit the second page as many times as you like (because the 
"visitor_name" remains in the session until cleared). If you only want to 
allow a single visit to the second page immediately from the first page, 
then you need to clear the session variable after rendering it in the 
second page view.

Also, note that the "not request.function == 'first'" condition isn't 
actually necessary if that code is inside the second function -- it would 
only be necessary if that code were at the top level of the controller 
(i.e., outside of any function).

Anthony

On Tuesday, November 18, 2014 1:25:22 AM UTC-5, T.R.Rajkumar wrote:
>
> I am able to visit the second page directly without visiting the first 
> page if I have only the request.function. If I add the session var 
> condition then it restricts.
>
> On Saturday, November 15, 2014 3:28:15 PM UTC+5:30, T.R.Rajkumar wrote:
>>
>> In book chapter 3 overview the following is given to restrict access to 
>> second page. 
>>
>> if not request.function=='first' and not session.visitor_name:
>>     redirect(URL('first'))
>>
>> But if I print request.function it says 'second'.
>> How to restrict access to second page only from first page?
>>
>>
>>

-- 
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
--- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to web2py+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to