0
フォームを作成し、ユーザーが入力したデータをpython-cgiを使用してスクリプトに入れようとしていますが、このエラーメッセージが表示されます。 "Endスクリプト出力前にheaders:processname.cgi "私は様々なブログやチュートリアルに従ってきましたが、それを機能させることはできませんでした。エラー:python-cgiでhtmlフォームを送信中にヘッダーの前にスクリプト出力が終了する
私のフォームとCGIスクリプトは次のとおりです。私は私のローカルマシン上のpython3とXAMPPのサーバーを使用しています(MAC OSX)
form.html
<DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>Get name from User</title>
</head>
<body>
<form method="post" action="processname.cgi">
Please Enter Your name: <input type="text" name="username" placeholder="e.g. John" autofocus
required="required"/>
<br>
<input type="submit" name="submitname" value="Submit"/>
</form>
</body>
</html>
そして、これは私のCGIスクリプトです:processname.cgi
#!/usr/local/bin/python3
import cgi
import cgitb
cgitb.enable()
def htmlTop():
print('''Content-type:text/html\n\n
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8"/>
<title>My Server Side template</title>
</head>
<body>''')
def htmlTail():
print('''</body>
</html>''')
def getData():
formData = cgi.FieldStorage()
firstname = formData.getvalue("username")
return firstname
if __name__ == '__main__':
try:
htmlTop()
firstname = getData()
print("Hello {0}".format(firstname))
htmlTail()
except:
cgi.print_exception()