Well it's Web stuff, sure, but it's written in python :) The code follows. The problem is that I haven't figured out how to tell the program that the user has entered data and to clear the cache of that data so that it's not re-entered. How do I do that? TIA, Victor
#!/usr/bin/python import cgitb; cgitb.enable() import cgi import sys,os sys.path.append(os.getcwd()) import MySQLdb import re def upload(company, num): form = cgi.FieldStorage() num = form.getfirst('num', 0) company = form.getfirst('company', '') flag = form.getfirst('flag', '') num = int(num) print "Content-Type: text/html" print print """ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" " http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"> <head xmlns="http://www.w3.org/1999/xhtml"> <style type='text/css'> .text { font-family: Arial, Helvetica, sans-serif; font-size: 16px; text-decoration: none; text-align: justify} </style> <title>Global Solutions Group</title> <meta http-equiv="distribution" content="Global" /> <meta http-equiv="robots" content="index all, follow all" /> <meta name="author" content="This web site developed by beno. You may reach him at his web site [beno.vi], or by dialing 340-773-0687 and asking for room 102." /> <body> """ if flag == 'yes': host = 'hose' db = 'db' user = 'user' passwd = 'pass' database = MySQLdb.connect(host, user, passwd, db) cursor= database.cursor() pat = '[.,()\[\]\\+=!#$%^&;:"\'*]' company = re.sub(pat, '', company) sql = 'Category varchar(100), Item varchar(20), Description varchar(255), UOM varchar(20), Price float(7,2)' cursor.execute('create table if not exists %s (%s);' % (company, sql)) i = 0 while i < num: print i cat = 'cat' + str(i) cat = form.getfirst(cat, '') item = 'item' + str(i) item = form.getfirst(item, '') descr = 'descr' + str(i) descr = form.getfirst(descr, '') uom = 'uom' + str(i) uom = form.getfirst(uom, '') price = 'price' + str(i) price = form.getfirst(price, '') sql = 'insert into %s (Category, Item, Description, UOM, Price) values ("%s", "%s", "%s", "%s", "%s");' % (company, cat, item, descr, uom, price) cursor.execute(sql) i += 1 cursor.close() print '<h2>Data entered successfully.</h2>' company = '' num = 0 print '<form method="post" action="upload.py">\n' print "Company Name: <input type='text' value='%s' size='20' maxlength='100' name='company' /><br /><br />\n" % (company) if num == 0: print "How many rows of products shall we include? <input type='text' value='' size='10' maxlength='10' name='num' /><br />\n" else: print "<input type='hidden' name='flag' value='yes' />\n" print "<input type='hidden' name='num' value='%s' />\n" % (num) i = 0 while i < num: print '<hr />\n' print "Category: <input type='text' value='' size='20' maxlength='100' name='cat%s' /><br />\n" % (str(i)) print "Item: <input type='text' value='' size='20' maxlength='20' name='item%s' /><br />\n" % (str(i)) print "Description: <input type='text' value='' size='20' maxlength='255' name='descr%s' /><br />\n" % (str(i)) print "UOM: <input type='text' value='' size='20' maxlength='20' name='uom%s' /><br />\n" % (str(i)) print "Price: <input type='text' value='' size='10' maxlength='10' name='price%s' /><br />\n" % (str(i)) i += 1 print """ <hr /> <div align='center'> <input type='submit' value=' Send ' /> </div> </form> </body></html> """ upload(company='', num=0) On Tue, Sep 22, 2009 at 11:34 AM, Simon Forman <sajmik...@gmail.com> wrote: > On Tue, Sep 22, 2009 at 10:46 AM, Victor Subervi > <victorsube...@gmail.com> wrote: > > Hi; > > I have a dynamic form in which I do the following: > > 1) Request two fields (company name, number of entries). That is sent > back > > to the form. > > 2) If the two fields are not None, the form requests other data. That, > too, > > is sent back to the form. > > 3) That new data is then entered into a MySQL table. > > The problem is, that when I go back to refresh the form, the data is > > re-entered into the table! How do I prevent that? > > TIA, > > Victor > > > > First, this seems like it's not a python question, rather it's seems > to be about some web stuff. > > Second, there's not enough information to tell you anything useful. > -- > http://mail.python.org/mailman/listinfo/python-list >
-- http://mail.python.org/mailman/listinfo/python-list