Importing MySQLdb module causes malformed header error.. pls help!!!

Kiran B. kiranb_102 at yahoo.com
Wed Nov 5 20:52:04 EST 2003


Hello vincent, 
im sorry... I missed some code while copying. The person info in try:
is just for checking if the user entered all fields in the previous
form. If not, the function printFormError() would be called. These
values are being enterd from in a previous html form and these are the
values i need to save in the database. Im using PythonWin to write my
codes. im still getting the same error.

Here is the actual code:


#!c:\Python23\python.exe
import cgi
import MySQLdb
   
def printContent():
   print "Content-type: text/html\r\n"
   print 
   print """
   <html xmlns = "http://www.w3.org/1999/xhtml" xml:lang="en"
lang="en">
   <head><title>Registration results</title></head>
   <SCRIPT language="JavaScript">
   <!--
      function blur()
      {
       this.form.message.blur(); 
      }  
   //-->
   </SCRIPT>
   <body>"""
   
def printReply():
 
   connection = MySQLdb.connect( db = "try")
   cursor = connection.cursor()
   
   from convert import genPrime, genPrimeE
   p1 = genPrime()
   q1 = genPrime()    
   e1 = genPrimeE()
   N1 = p1 * q1
   M1 = (p1-1)*(q1-1)
   print 'e1 %d,' %e1
   print 'm1 %d' %M1
   
   while(e1 % M1 == 0):
      e1 = genPrimeE()
   cursor.execute("insert into trials(p,q) values ('4','546');")
   authorList = cursor.fetchall()
   cursor.close()                  
   connection.close()
  
   from convert import convertToBlocks
   list = convertToBlocks(form["message"].value)
 
   from convert import encryptBlock
   encList = []
   for i in list:
     x = encryptBlock(i,e1,N1)
     encList.append(x)
   
   nProd = 0
   
   for i in encList:
        nProd = (nProd + i) * 10000
   personInfo['message'] = nProd
  
   print """
      <form method = "post" action =
"http://127.0.0.1/cgi-bin/whee.py" name = "fig18">
     
      <span style = "font-weight: bold">
      The following information has been saved in our database:
      </span><br />
      
      <table style = "border: 0; border-width: 0;
         border-spacing: 10">
      <tr><td style = "background-color: yellow">Name </td>
          <td style = "background-color: yellow">Email</td>
          <td style = "background-color: yellow">Phone</td>
   <td style = "background-color: yellow">OS</td>
          <td style = "background-color: yellow">Message</td></tr>
      <tr><td>%(firstName)s %(lastName)s</td><td>%(email)s</td>
          <td>%(phone)s</td><td>%(os)s</td></td><td>%(message)s</td></tr>
      </table>
      <br /><br /><br />
      <textarea rows="10" cols="50" onFocus="blur()"
name="msg">%(message)s</textarea>
     <input type = "submit" value = "next" >
      </form></body></html>
      """ % personInfo
      
def printFormError():
   print """<span style = "color: red; font-size 15pt">
      FORM ERROR</span><br />
      You have not filled in all fields.
      <span style = "color: blue"> Click the Back button, 
      fill out the form and resubmit.</span><br /><br />
      Thank You."""
printContent()
form = cgi.FieldStorage()

try:
   personInfo = { 'firstName' : form[ "firstname" ].value,
                  'lastName' : form[ "lastname" ].value,
                  'email' : form[ "email" ].value,
                  'phone' : form[ "phone" ].value,
                  'book' : form[ "book" ].value,
                  'os' : form[ "os" ].value, 
                  'message' : form["message"].value }
   printReply()
   
except KeyError:
   printFormError()

Thanks!!




More information about the Python-list mailing list