只是用HTML文件做一个基本的python项目,我遇到了一个教程,它给出了我如何执行代码的想法,
这是HTML代码
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="content-type">
<title>Admin Login</title>
</head>
<body>
<big><big>Login
Here<br>
<br>
</big></big>
<form action="/var/www/cgi-bin/Login.py" name="LoginForm"><big>Administration
Login<br>
User Name<br>
<input name="UserName"><br>
<br>
<br>
Password<br>
<input name="PassWord"><br>
</big><br>
<br>
<br>
<input type="submit">
<br>
</form>
__ <br>
</body>
</html>
和python代码..
#!/usr/bin/python
import cgi
import cgitb; cgitb.enable()
# get the info from the html form
form = cgi.FieldStorage()
#set up the html stuff
reshtml = """Content-Type: text/html\n
<html>
<head><title>Security Precaution</title></head>
<body>
"""
print reshtml
User = form['UserName'].value
Pass = form['PassWord'].value
if User == 'Myusername' and Pass == 'MyPasword':
print '<big><big>Welcome'
print 'Hello</big></big><br>'
print '<br>'
else:
print 'Sorry, incorrect user name or password'
print '</body>'
print '</html>'
问题是,当我提交用户名和密码时,它只是在浏览器上显示整个代码而不是所需的欢迎消息:(。我使用Fedora13 ..任何人都可以告诉我出了什么问题吗?我甚至更改了文件的权限。
答案 0 :(得分:3)
最有可能的是,您的网络服务器未配置为执行脚本。即使它在文件系统中被标记为“可执行”,也不一定意味着网络服务器知道它应该执行.py
个文件(而不仅仅是直接向它们提供服务)。如果您正在运行Apache,请查看此处:http://httpd.apache.org/docs/2.0/howto/cgi.html
答案 1 :(得分:2)
<form action="/var/www/cgi-bin/Login.py" name="LoginForm">
尝试
<form action="/cgi-bin/Login.py" name="LoginForm">
/ var / www可能是您的ftp站点的路径。 Web服务器只会查看/ var / www,因此会自动将该部分放在那里。