POSTされた内容をファイルに書き込む


■概要 HTMLフォームからPOSTされたデータをファイルに書き込む
■詳細 HTMLフォームから、nameとmessageの2つのパラメータを受け取り、 それをいい感じにファイルに追記していく。
■HTMLソース <html> <head> <meta http-equiv=content-type content="text/html; charset=UTF-8"> </head> <body> <form method="POST" action="/cgi-bin/test.cgi"> name <input type="text" name="name"><br> text <textarea name="comment"></textarea><br> <input type="submit" value="submit"> </form> </body> </html>
■Pythonソース #!/usr/bin/env python # -*- coding: utf-8 -*- import cgi import cgitb import os import sys import codecs import Cookie sys.stdout = codecs.getwriter('utf_8')(sys.stdout) cgitb.enable() print ('Content-type: text/html; charset=UTF-8') print ("\r\n\r\n") #POSTデータ判定 if ( os.environ['REQUEST_METHOD'] != "POST" ): print (u"METHOD不正") sys.exit() form = cgi.FieldStorage() #パラメータチェック if not ( form.has_key("name") and form.has_key("comment") ): print (u"パラメータ不正") sys.exit() #ファイル書込処理 file = None try: file = open("work/test.txt", "a") file.write(form["name"].value + "," + form["comment"].value + "\r\n") print (u"書けた") except IOError: print (u"書けなかった") finally: if(file): file.close()
■結果 書けた


戻る