Re: [Zope] Form variables with same name as folder names
"Burwell, Becky " wrote: The simple answer: use REQUEST.form['FOO'] to refer to the form variable. I just did an experiment and if I do the following my SQL Method: dtml-if REQUEST.form['FOO'] this is never true. ...because you're missing some " " REQUEST.form['FOO'] is a python expression. dtml-if REQUEST.form['FOO'] is short for dtml-var name="REQUEST.form['FOO']" so, unless you have a folder or document names 'REQUEST.form['FOO']', it will return false :-S What you want is dtml-if "REQUEST.form['FOO']", which is short for dtml-if expr="REQUEST.form['FOO']". This evaluates expr as a python expression... If I do: dtml-if "REQUEST.form['FOO']" or dtml-if "REQUEST.form['FOO]=='1'" I get name errors with REQUEST being unknown. ...an oddity of ZSQL methods :-( The REQUEST usually gets made available in the namespace, but in ZSQL methods, only the parameters your specify as 'arguments' get added to the namespace. At a guess, try adding REQUEST to the 'Arguments' list... good luck, Chris ___ Zope maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] Form variables with same name as folder names
1) the ZSQL manual, http://www.zope.org/Documentation/Guides/ZSQL-HTML/ZSQL.1.4.4.html, says that the first lookup should be variables in HTTP_REQUEST. So why is FOO referring to my folder FOO? Its true it does and I found the exact problem. A chance to lob this bug into the collector. 2) is there some way I could have referred to the variable FOO in my Z SQL method without resorting to renaming the variable in my form? Rename your folder :) ___ Zope maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] Form variables with same name as folder names
On Tue, 14 Nov 2000, "Burwell, Becky wrote: Hi. I am new to using Zope and just got stuck on the following problem. I am trying to use forms with an SQL database. I have a form with checkboxes and I use variables like FOO to capture the value. For example: input type="checkbox" name="FOO" value="1" The form has a post with the action to call a DTML document. In my DTML document I call a Z SQL Method called InsertMethod with REQUEST as the argument, for example InsertMethod(REQUEST). My Z SQL Method InsertMethod has arguments including FOO="" And then in the body of the Z SQL method I have: dtml-if FOO {code to insert into a database table} This working UNTIL I created a Folder named FOO. Then the value of FOO in the Z SQL method seemed to be the FOO folder and not FOO from REQUEST. My workaround was to call the variable FOOCHECKBOX. 2) is there some way I could have referred to the variable FOO in my Z SQL method without resorting to renaming the variable in my form? A sneaky problem indeed, and once again, one caused by "convenient" shortcuts. (o8 The simple answer: use REQUEST.form['FOO'] to refer to the form variable. The longer answer: To make life simpler on our key-weary fingers, DC made all the form variables part of the namespace, but put then sufficiently down the search path so they wouldn't get in the way of other objects. Most of the time this is just great, but occasionaly you do run into this problem. So, you can explicitly access all form variables with REQUEST.form[]... just as you can access all cookies via REQUEST.cookies[] I would advise you make a small DTML Document containing dtml-var REQUEST just to have a look at what it contains THEN go and check up the ZQR for all the members of REQUEST... and RESPONSE, while you're at it.. (o8 Thanks! *becky* Have a better one, Curtis Maloney ___ Zope maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )
RE: [Zope] Form variables with same name as folder names
On Tue, 14 Nov 2000, "Burwell, Becky wrote: This working UNTIL I created a Folder named FOO. Then the value of FOO in the Z SQL method seemed to be the FOO folder and not FOO from REQUEST. My workaround was to call the variable FOOCHECKBOX. 2) is there some way I could have referred to the variable FOO in my Z SQL method without resorting to renaming the variable in my form? A sneaky problem indeed, and once again, one caused by "convenient" shortcuts. (o8 The simple answer: use REQUEST.form['FOO'] to refer to the form variable. I just did an experiment and if I do the following my SQL Method: dtml-if REQUEST.form['FOO'] this is never true. If I do: dtml-if "REQUEST.form['FOO']" or dtml-if "REQUEST.form['FOO]=='1'" I get name errors with REQUEST being unknown. The REQUEST.form thing works in the DTML document that calls the SQL method but not in the SQL method itself. *becky* ___ Zope maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )