python cgi 的编写

xiaoxiao2026-08-23  15

在window环境下编写python cgi

#!C:\Python25\python.exe # -*- coding: cp936 -*- #filename : CGI_Login.py # # writer : 天渊小剑 # @copyright -*- 2009-06-1 -*- # #--------------------------------------- # Package : #--------------------------------------- import cgi,sys,cgitb,time,os,md5,hashlib import _mysqlTest,traceback cgitb.enable() #--------------------------------------- # Class : # CGI登陆程序 #--------------------------------------- class LoginPage: #--------------------------------------- # Method() : # |--__init__() : 构造函数 # |--__setHtmlHeader() : 设置CGI可识别HTTP头 # |--_main_() : 主控制函数 # |-- __ShowPage() : 显示View显示函数 # |-- __run() : 主运行函数 # |-- __checkUserToBe() : 判断用户是否存在 # |-- __ShowLoginSucesPage(): 登陆成功处理 # |-- __createLoginSQL() : 构造SQL语句 # #--------------------------------------- def __init__ (self): self.__setHtmlHeader() self.ROOTPATH = os.environ['SCRIPT_NAME'] self._main_() def _main_ (self): datalist = cgi.FieldStorage() if datalist: data_ = self.__run(datalist) if data_: self.__ShowPage(data_) else: self.__ShowPage() def __run (self,datalist): if datalist.getfirst('user') and datalist.getfirst('passwd'): sql = self.__createLoginSQL(datalist.getfirst('user'),datalist.getfirst('passwd')) result = self.__checkUserToBe(sql) str_ = self.__ShowLoginSucesPage(result) self.__ShowPage(str_) def __checkUserToBe (self,sql): db = _mysqlTest.DBbase() res= db.querySQL(sql) if res: return res else: print("<script>alert('登陆失败');window.location.href='"+self.ROOTPATH+"';</script>") return False def __ShowLoginSucesPage (self,res): print("<script>alert('登陆成功');</script>") for var in res: userName = (var[1]) str_ = ''' "%s" 欢迎您回来 '''%(userName) return str_ def __createLoginSQL (self,username,passwd): m = md5.new() m.update(passwd) passwd = m.hexdigest() sql = "select * from `workuser` where `w_Phone`='%s' and `w_Pwd`='%s'"%(username,passwd) return sql def __setHtmlHeader (self): print("Content-type:text/html\n") #让浏览器知道这是什么类型的文件 print("") def __ShowPage (self,param=None): if param==None: var = ''' <form action="%s" method="post"> 用户名: <input type="text" name="user" size="12" /> 密码: <input type="password" name="passwd" size="12" /> <input TYPE="submit" NAME="login" VALUE="提交"> </form> '''% (self.ROOTPATH) else: var = param print ''' <html> <head> </head> <body> 当前系统时间 %s <p /> %s </BODY> </HTML> '''% (time.strftime(" %Z [ %I:%M:%S %P ] "),var) #--------------------------------------- # Test Run #--------------------------------------- LoginPage()  

 

转载请注明原文地址: https://www.6miu.com/read-5051688.html

最新回复(0)