Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用CGI Python将网页重定向到主页_Python_Html_Forms_Cgi - Fatal编程技术网

使用CGI Python将网页重定向到主页

使用CGI Python将网页重定向到主页,python,html,forms,cgi,Python,Html,Forms,Cgi,作为我的第一个web应用程序,我开发了一个非常简单的调查。每当页面刷新时,用户都会提出随机问题。使用post将答案发送到cgi脚本,以将答案保存到数据库中 但是,当用户按下submit按钮时,它会自动转到负责处理数据的页面,因为该页面没有任何输出,所以它是一个空白页面。现在,如果用户想回答另一个问题,他们必须按下浏览器中的“后退”键并刷新页面,以便弹出一个新问题。我不要这个 我希望在用户按下submit时,答案自动转到处理脚本,页面用新问题刷新自己,或者至少在处理后用新问题重定向到主调查页面。

作为我的第一个web应用程序,我开发了一个非常简单的调查。每当页面刷新时,用户都会提出随机问题。使用post将答案发送到cgi脚本,以将答案保存到数据库中

但是,当用户按下submit按钮时,它会自动转到负责处理数据的页面,因为该页面没有任何输出,所以它是一个空白页面。现在,如果用户想回答另一个问题,他们必须按下浏览器中的“后退”键并刷新页面,以便弹出一个新问题。我不要这个

我希望在用户按下submit时,答案自动转到处理脚本,页面用新问题刷新自己,或者至少在处理后用新问题重定向到主调查页面。


<html> 
  <head> 
    <meta http-equiv="refresh" content="0;url=http://www.example.com" /> 
    <title>You are going to be redirected</title> 
  </head> 
  <body> 
    Redirecting...
  </body> 
</html>
您将被重定向 重定向。。。

请参阅
元刷新
缺点和备选方案。

您还可以从处理脚本发送HTTP头:

位置:/

处理完答案后,您将发送上述标题。我建议您附加一个随机数查询字符串。e、 g.python示例(假设您使用的是python CGI模块):

#/usr/bin/env python
进口cgitb
随机输入
导入FormProcessor
cgib.enable()#将为您捕获回溯和错误。如果您不再需要它,请将其注释掉。
如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu':
YourFormProcessor.Process_Form()#这是处理表单的逻辑。
重定向URL=“/?r=%s”%random.randint(0100000000)
打印“内容类型:文本/html”
“打印”位置:%s“%URL”
print#HTTP表示在标题和内容之间必须有一个空行
打印“
打印“
打印“”%URL重定向
打印“您将被重定向”
打印“
打印“
打印“重定向…”%重定向URL
打印“
打印“

您想实现以下功能:

这比听起来简单得多。接收POST的CGI脚本必须只生成以下输出:

Status: 303 See other
Location: http://lalala.com/themainpage

meta-http-equiv=“refresh”content=“0;url=http://example.com/“>
不是一个选项吗?@Khachik:我应该把它放在哪里?在页眉中?页面加载后,它会保持刷新。还有其他的吗?我做了,但是我的页面在加载后会一直刷新…我想在表单提交后刷新一次。它会在我按下提交按钮之前刷新。@Hossain,你可能会重定向到一个页面,其中也包含该元。是的,问题是在主页上提出的。提交后,我希望此主页再次刷新(导致新问题弹出)你能给我一个更详细的例子吗,我是全新的。不知道具体放在哪里。thx在哪里打印这些输出?虽然这在我桌面上的Chrome上可以正常工作,但在我的ipad上会出现safari错误,说“重定向太多”。。。有什么想法吗?我试图清空ipad上的缓存。。但是没有运气。
Status: 303 See other
Location: http://lalala.com/themainpage