adduser.py
This Python script, with its associated form, adds a new member to a database table of users.
Try it: add user
01: #!/usr/bin/python 02: import cgi, cgitb, sys 03: import MySQLdb 04: import dbname 05: cgitb.enable() # formats errors in HTML 06: 07: sys.stderr = sys.stdout 08: print "Content-type: text/html" 09: print 10: print '''<html> 11: <head> 12: <title>Add User</title> 13: </head> 14: <body>''' 15: 16: form = cgi.FieldStorage() 17: 18: fields = ["fullname", "email", "username", "password"] 19: errors = False 20: 21: print '<dir><pre>' 22: for field in fields: 23: if (not form.has_key(field)): 24: print 'missing <b>%s</b>' % field 25: errors = True 26: print '</pre></dir>' 27: if (errors): 28: print '<p>Use back button to return to the sign-up page.' 29: print '</body></html>' 30: sys.exit() 31: 32: db = dbname.dbopen() 33: cur = db.cursor() 34: 35: username = form["username"].value 36: 37: try: 38: cur.execute("SELECT uid FROM users WHERE username= '%s'" % username) 39: rows = cur.fetchall() 40: if (cur.rowcount>0): 41: print '<p>That username is already taken.' 42: print '</body></html>' 43: sys.exit() 44: except MySQLdb.Error, e: 45: print e 46: sys.exit() 47: 48: 49: 50: try: 51: cur.execute("""INSERT INTO users ( username, password, fullname, email, created, modified ) 52: VALUES ( 53: '%s', 54: '%s', 55: '%s', 56: '%s', 57: now(), now() )""" % (username, 58: form["password"].value, form["fullname"].value, form["email"].value) ) 59: cur.close() 60: db.close() 61: except MySQLdb.Error, e: 62: print e 63: 64: print '<p>%s has been added to the database.' % form["fullname"].value 65: 66: print '<p><table border>' 67: for field in fields: 68: print '<tr><td>%s<td>%s' % (field, form[field].value) 69: print '</table>' 70: 71: 72: print '</body></html>'
Maintained by John Loomis, updated Sun Mar 02 21:18:08 2008