请问用C语言写cgi怎么实现页面的跳转呢

时间:2022-06-06 04:57:00
  主要是用于登陆页面的,在判断后跳转到指定页面。代码应该怎么写呢?

7 个解决方案

#1


用C?可以吗?不会。。。

#2


  在线等,求助!!!

#3


登录后在html的head标签里输出:

<meta http-equiv="Refresh" content="0;URL=http://www.g.cn">


示例:
<html>
<head>
<meta http-equiv="Refresh" content="0;URL=http://www.g.cn">
</head>

<body>

</body>
</html>

链接改成自己的

#4


在HTTP头部加上“Location”字段,并且应答码必须为3xx的重定向状态。
请参见 RFC2616的10.3和14.30这两个章节。

#5


  楼上诸位说的是cgi模式吗?能不能给点符合cgi的代码呢,4楼的资料我看了,实在不怎么明白啊。。。

#6


比如在下面代码段中直接添加页面跳转的代码应该怎么写呢?

 #include <stdio.h>
  #include "cgic.h"
   #include <string.h>
   #include <stdlib.h>
    
   int cgiMain() {
       char name[241];
       char number[241];
       cgiHeaderContentType("text/html");
      fprintf(cgiOut, "<HTML><HEAD>\n");
     fprintf(cgiOut, "<TITLE>My CGI</TITLE></HEAD>\n");
     fprintf(cgiOut, "<BODY>");
      cgiFormString("name", name, 241);
     cgiFormString("number", number, 241);
     fprintf(cgiOut, "<H1>%s</H1>",name);
     fprintf(cgiOut, "<H1>%s</H1>",number);
 
 Location:  cgi-bin/cgictest.cgi

     fprintf(cgiOut, "</BODY>\n");
      fprintf(cgiOut, "</HTML>\n");
     return 0;
  }

#7


你要按四楼的,就是改http头,类似你这句的功能cgiHeaderContentType("text/html"); 

要按我说的,在<body>中间输出
<meta http-equiv="Refresh" content="0;URL=./cgi-bin/cgictest.cgi"> 
就可以了。

#1


用C?可以吗?不会。。。

#2


  在线等,求助!!!

#3


登录后在html的head标签里输出:

<meta http-equiv="Refresh" content="0;URL=http://www.g.cn">


示例:
<html>
<head>
<meta http-equiv="Refresh" content="0;URL=http://www.g.cn">
</head>

<body>

</body>
</html>

链接改成自己的

#4


在HTTP头部加上“Location”字段,并且应答码必须为3xx的重定向状态。
请参见 RFC2616的10.3和14.30这两个章节。

#5


  楼上诸位说的是cgi模式吗?能不能给点符合cgi的代码呢,4楼的资料我看了,实在不怎么明白啊。。。

#6


比如在下面代码段中直接添加页面跳转的代码应该怎么写呢?

 #include <stdio.h>
  #include "cgic.h"
   #include <string.h>
   #include <stdlib.h>
    
   int cgiMain() {
       char name[241];
       char number[241];
       cgiHeaderContentType("text/html");
      fprintf(cgiOut, "<HTML><HEAD>\n");
     fprintf(cgiOut, "<TITLE>My CGI</TITLE></HEAD>\n");
     fprintf(cgiOut, "<BODY>");
      cgiFormString("name", name, 241);
     cgiFormString("number", number, 241);
     fprintf(cgiOut, "<H1>%s</H1>",name);
     fprintf(cgiOut, "<H1>%s</H1>",number);
 
 Location:  cgi-bin/cgictest.cgi

     fprintf(cgiOut, "</BODY>\n");
      fprintf(cgiOut, "</HTML>\n");
     return 0;
  }

#7


你要按四楼的,就是改http头,类似你这句的功能cgiHeaderContentType("text/html"); 

要按我说的,在<body>中间输出
<meta http-equiv="Refresh" content="0;URL=./cgi-bin/cgictest.cgi"> 
就可以了。