如何在python cgi脚本中使用QUERYSTRING、Cookies、GET/POST方法?
我正在使用python脚本编写一个测验应用程序。我的HTML文件每次包含1个问题,并显示4个选项。下面有两个按钮用于导航问题。“上一个”和“下一个”。选择该选项后,用户可以单击“下一步”按钮,所选值应存储在某个位置,以便进一步计算分数和下一个问题 应该显示 我是Cgi新手。到目前为止,我能够加载问题1。我被困得更深。 谁来帮忙 我将问题和选项存储在这样一个单独的文件中 问题|选项A |选项B |选项C |选项D |答案如何在python cgi脚本中使用QUERYSTRING、Cookies、GET/POST方法?,python,html,cgi,dynamic-html,Python,Html,Cgi,Dynamic Html,我正在使用python脚本编写一个测验应用程序。我的HTML文件每次包含1个问题,并显示4个选项。下面有两个按钮用于导航问题。“上一个”和“下一个”。选择该选项后,用户可以单击“下一步”按钮,所选值应存储在某个位置,以便进一步计算分数和下一个问题 应该显示 我是Cgi新手。到目前为止,我能够加载问题1。我被困得更深。 谁来帮忙 我将问题和选项存储在这样一个单独的文件中 问题|选项A |选项B |选项C |选项D |答案 #!/usr/bin/python import cgi, Cookie,
#!/usr/bin/python
import cgi, Cookie, os, cgitb, linecache
cgitb.enable()
cookie = Cookie.SimpleCookie()
attempt = 0
qc= 0
scr = 0
wrng = 0
total = 0
cur = 1
cookie["Attempted"] = attempt
cookie["Correct"] = qc
cookie["Score"] = scr
cookie["Wrong"] = wrng
cookie ["Count"] = total
cookie["Current"] = cur
file = "quest" # my question bank
data = linecache.getline(file,cur)
data = data.strip('\n')
data = data.split('|')
form = cgi.FieldStorage()
if form.getvalue('prev'):
if(cur > 1):
cur = int (cookie["Current"].value) - 1
cookie["Current"] = cur
print cookie
print "Content-type:text/html\r\n\r\n"
HTML代码
print "<span id=\"disQ\">"
print data[0]
print "</span></br>"
print "<input type=\"radio\" name=\"qstn\" value=\"1\" /><span>" + data[1] + "</span></br>"
print "<input type=\"radio\" name=\"qstn\" value=\"2\" /><span>" + data[2] + "</span></br>"
print "<input type=\"radio\" name=\"qstn\" value=\"3\" /><span>" + data[3] + "</span></br>"
print "<input type=\"radio\" name=\"qstn\" value=\"4\" /><span>" + data[4] + "</span></br>"
print "<input id=\"prev\" name=\"prev\" type=\"submit\" value=\"PREV\" onclick=\"this.form.submit()\">"
print "<input id=\"next\" name=\"next\" type=\"submit\" value=\"NEXT\" onclick=\"this.form.submit()\">"
print "<h5>Total Questions : </h5><span class = \"data\" id=\"total\">"+ cookie["Count"].value + "</span>"
print "<h5>Attempted :</h5><span class = \"data\" id=\"attempt\">" + cookie["Attempted"].value + "</span>"
print "<h5>Correct :</h5><span class = \"data\" id=\"correct\">" + cookie["Correct"].value + "</span>"
print "<h5>Wrong :</h5><span class = \"data\" id=\"wrong\">" + cookie["Wrong"].value + "</span>"
print "<h5>Score :</h5><span class = \"data\" id=\"score\">" + cookie["Score"].value + "</span>"
打印“”
打印数据[0]
打印“”
打印“+数据[1]+”“
打印“+数据[2]+”“
打印“+数据[3]+”“
打印“+数据[4]+”“
打印“”
打印“”
打印“总问题数:”+cookie[“计数”]。值+“”
打印“已尝试”:+cookie[“已尝试”]。值+“”
打印“正确:”+cookie[“正确”]。值+“”
打印“错误:”+cookie[“错误”]。值+“”
打印“分数:”+cookie[“分数”]。值+“”
你真的应该看看htmltmpl
你能给我们一个你的题库样本吗?我注意到的第一件事是你没有把它放在
标签中。这样做,它将提交回您的服务器,您可以从那里使用它。感谢htmltmpl参考,我会关注它。是的,我的html是在问题背后包含一些示例问题…例如。谁赢得了2014年卢索菲亚奥运会?|葡萄牙|安哥拉|印度|巴西| 3当我点击提交按钮时,什么都没有发生。我被逻辑所束缚。我在控制台中遇到这些错误*HTML文档的字符编码未声明。如果文档包含US-ASCII范围之外的字符,则在某些浏览器配置中,文档将呈现乱码文本。页面的字符编码必须在文档或传输协议中声明。mQuiz.cgi*TypeError:document.getElementById(…)为空。js:7*TypeError:next不是函数