I'm migrating a CGI script file to Web2py and I need to be able to receive 
form posts from another page because the CGI script received a form posted 
from a webserver that *cannot *be migrated to Web2py, unfortunately. Here's 
the form section:

<form id="SubmitSiteForReview" method="post" enctype="multipart/form-data" 
action="https://web2pyserver/reporter/blockpage/submit_site";>
...
</form>   


In the original CGI script, I got the form values with cgi.FieldStorage()
site_submit_form = cgi.FieldStorage()
site = cgi.escape(site_submit_form.getfirst('submit_url', 'Form error, no 
URL provided'))
reason = cgi.escape(site_submit_form.getfirst('submit_reasons', 'Form 
error, no Reason given'))
reasongiven = cgi.escape(site_submit_form.getfirst('submit_reasongiven', 'Form 
error, no polite reason given'))
categories = cgi.escape(site_submit_form.getfirst('submit_categories', 'N/A'
))
ip = cgi.escape(site_submit_form.getfirst('submit_ip', 'IP address not 
supplied'))

So, I went to use the same code in a web2py controller:

def submit_site():
    import cgi
    siteform = cgi.FieldStorage()
    site = cgi.escape(siteform.getfirst('submit_url', 'Form error, no URL 
provided'))
    reason = cgi.escape(siteform.getfirst('submit_reasons', 'Form error, no 
Reason given'))
    reasongiven = cgi.escape(siteform.getfirst('submit_reasongiven', 'Form 
error, no polite reason given'))
    categories = cgi.escape(siteform.getfirst('submit_categories', 'N/A'))
    ip = cgi.escape(siteform.getfirst('submit_ip', 'IP address not supplied'
))
    
    return dict(site = site, reason = reason, reasongiven = 
reasongiven,categories 
= categories, ip = ip)

But the default values are returned. How can web2py receive form input from 
a non-web2py web page?




-- 



Reply via email to