前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >表单提交至cgi

表单提交至cgi

原创
作者头像
用户11021319
发布2024-03-12 14:15:28
发布2024-03-12 14:15:28
9800
代码可运行
举报
运行总次数:0
代码可运行

问题背景

我在 public-html 中运行了表单,并在 cgi-bin 中运行了 cgi 脚本。当我提交表单时,我收到一个空白页面。我曾让它与一个单独的表单一起工作,但在我添加更多值以提交后,我开始遇到问题。

解决方案

两种可能的解决方法:

  1. 确保在 else 语句后添加冒号。
  2. print 语句中,将 print 替换为 sys.stdout.write

以下是修改后的代码,在其中应用了第一种解决方案:

代码语言:javascript
代码运行次数:0
复制
#!/usr/bin/python

# Import modules for CGI handling
import cgi, cgitb, sys

# Create instance of FieldStorage
form = cgi.FieldStorage()

# Get data from fields(提取代理IP)
# http://jshk.com.cn/mb/reg.asp?kefu=zhangyajie
if form.getvalue('select01'):
    tier = form.getvalue('select01')
else:
    tier = "Please Select Tier"

if form.getvalue('select02'):
    version = form.getvalue('select02')
else:
    version = "Please Select Version"

if form.getvalue('select03'):
    point = form.getvalue('select03')
else:
    point = "Please Select Audit Point"

sys.stdout.write("Content-type:text/html\r\n\r\n")
sys.stdout.write("<html>")
sys.stdout.write("<head>")
sys.stdout.write("<title>Dropdown Demo</title>")
sys.stdout.write("</head>")
sys.stdout.write("<body>")
sys.stdout.write("<h2> The Values Selected are %s, %s, %s </h2>" % (tier, version, point))
sys.stdout.write("</body>")
sys.stdout.write("</html>")

以下是修改后的代码,在其中应用了第二种解决方案:

代码语言:javascript
代码运行次数:0
复制
#!/usr/bin/python

# Import modules for CGI handling
import cgi, cgitb, sys

# Create instance of FieldStorage
form = cgi.FieldStorage()

# Get data from fields
if form.getvalue('select01'):
    tier = form.getvalue('select01')
else:
    tier = "Please Select Tier"

if form.getvalue('select02'):
    version = form.getvalue('select02')
else:
    version = "Please Select Version"

if form.getvalue('select03'):
    point = form.getvalue('select03')
else:
    point = "Please Select Audit Point"

print("Content-type:text/html\r\n\r\n")
print("<html>")
print("<head>")
print("<title>Dropdown Demo</title>")
print("</head>")
print("<body>")
print("<h2> The Values Selected are %s, %s, %s </h2>" % (tier, version, point))
print("</body>")
print("</html>")

代码示例

以下是完整的工作代码:

代码语言:javascript
代码运行次数:0
复制
#!/usr/bin/python

# Import modules for CGI handling
import cgi, cgitb, sys

# Create instance of FieldStorage
form = cgi.FieldStorage()

# Get data from fields
if form.getvalue('select01'):
    tier = form.getvalue('select01')
else:
    tier = "Please Select Tier"

if form.getvalue('select02'):
    version = form.getvalue('select02')
else:
    version = "Please Select Version"

if form.getvalue('select03'):
    point = form.getvalue('select03')
else:
    point = "Please Select Audit Point"

print("Content-type:text/html\r\n\r\n")
print("<html>")
print("<head>")
print("<title>Dropdown Demo</title>")
print("</head>")
print("<body>")
print("<h2> The Values Selected are %s, %s, %s </h2>" % (tier, version, point))
print("</body>")
print("</html>")

总结

在提交表单以将值发布到 CGI 时,可能会遇到问题。出现这些问题的原因可能是多种多样的,但最常见的原因之一是代码中存在语法错误或逻辑错误。通过仔细检查代码并确保其正确无误,可以避免这些问题。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 问题背景
  • 解决方案
  • 代码示例
  • 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档