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()
■結果
書けた
戻る