我无法从URL获取参数。在阅读了网上的大量帖子后,似乎没有回答我的问题......
我有一个简单的HTML文件:
<html>
<head>
</head>
<body>
<form action="test.py" method="get">
Name: <input id="person_name" type="text" name="person_name" >
<input id="submit_button" type="submit" value="Submit" >
</form>
</body>
我的python脚本如下所示:
import cgi, cgitb
form = cgi.FieldStorage()
name = str( form.getvalue('person_name') )
print ("Content-type:text/html\n\n")
print ("<html>")
print ("<head>")
print ("</head>")
print ("<body>")
print ("Hello " + name )
print("<br/>")
print ("all params: " + str(form) )
print ("</body>")
print ("</html>")
然而,当我执行HTML文件并输入“Mike”作为名称时,我的python脚本会打印出来:
Hello None
all params: FieldStorage(None, None, [])
cgi.FieldStorage()为空。 我该如何解决?
答案 0 :(得分:1)
很难说。
<form action="test.py" method="get">
错误?
应为<form action="cgi-bin/test.py" method="get">
如果“cgi-bin”不是url的一部分,则sgi脚本不会被执行。你得到某种回应甚至令人惊讶。
答案 1 :(得分:0)
我收到“500内部服务器错误”
现在好多了。看起来它正在开始工作。问题是你的python脚本没有声明。它始于import cgi, cgitb
,应以#!/usr/bin/python
或#!/usr/bin/env python
开头。 Apache不知道它是什么类型的脚本。
答案 2 :(得分:0)
500内部服务器错误是你的apache脚本配置文件的问题,尤其是pythonhandler和addhandlers区域与mod-python有关