Note the following line:

if request.vars.visitor_name:


That means it will only store the value in the session and do the redirect 
if "visitor_name" is in request.vars. If you're not submitting a visitor 
name, then that variable will not be in request.vars, and the conditional 
branch in the code will not be executed.

Anthony

On Tuesday, January 31, 2012 1:57:19 AM UTC-5, llanitedave wrote:
>
> I just downloaded web2py, and I'm going through the html book for the 
> first time.  I'm just getting to the point where I think I can understand 
> the web2py approach, and I'm starting to get enthused.
>
> I've gotten as far as the Postback section, and I'm running into problems. 
>  The code does not seem to be working as posted, and I'm kind of at a loss.
>
> Using the code below: 
>
>
>
>
>
>
>
>
>
> def first():
>     if request.vars.visitor_name:
>         session.visitor_name = request.vars.visitor_name
>         redirect(URL('second'))
>     return dict()
>
> def second():
>     return dict()
>
>  "default/first.html" view:
>
>
>
>
>
>
>
> {{extend 'layout.html'}}
> What is your name?
> <form>
>   <input name="visitor_name" />
>   <input type="submit" />
> </form>
>
>  "default/second.html" view 
>
>
>
> {{extend 'layout.html'}}
> <h1>Hello {{=session.visitor_name or "anonymous"}}</h1>
>
>
> (I first tried it slightly customized, then in frustration I copied and 
> pasted verbatem without a change in results), it works as long as I actually 
> input the visitor_name.  But if I don't input any value, then it does not 
> display "Hello anonymous" as it should.  It just resets back to "first.html".
>
> I went a little further, to the next step down, but I had similar problems 
> there.  It doesn't seem to be treating null session data as it should.
>
> So what should I try next?  I'll settle for any hint I can get.
>
> *
> *
>

Reply via email to