作者ms5566288 (Elaker)
看板Web_Design
标题[问题] 如何把CGI产生的网页内值输出在指定网页
时间Mon Oct 5 14:51:50 2015
如题,小弟最近研究CGI_POST
有个问题想不透,CGI的值会直接输出,那我该如何把那些值
输出在我指定的Frame呢?
(小弟有A、B页面,A有TEXTBOX把值POST给CGI,B是纯粹显示结果的页面)
请各位大大帮解惑,感恩万分。
这里附上一段CGI code :
int main(int argc, char* argv[], char *envp[])
{
printf("Content-type: text/html\n\n"); //CGI产生网页
printf("<font color=\"#00F000\"</font>");
printf("<body bgcolor=\"black\">");
int length=atoi(getenv("CONTENT_LENGTH"));
//CGI从页面A的TEXT接值处理字串
//printf("length=%d\n", length);
char format[20], post[10000];
sprintf(format, "%%%dc", length);
scanf(format, post);
//printf("post=%s<BR/>", post);
unescape_url(post);
//printf("%s<BR/>", post);
const char *cut = "=";
char *cmdarr[10];
char *cmd = strtok(post,cut);
int s_count = 0;
int ptr_cmdpwd;
const char *ECmd[2];
while(cmd != NULL)
{
cmdarr[s_count++] = cmd;
cmd = strtok(NULL, cut);
}
//printf("%s</br>",cmdarr[1]);
ECmd[0]="postsystem";
ptr_cmdpwd = strcmp(cmdarr[2],ECmd[0]);
if (ptr_cmdpwd == 0){
}
else{
if (ptr_cmdpwd > 0){
printf("Command Password Error !!<p>");
cmdarr[1] = NULL;
}
else{
printf("Command Password Error !!<p>");
cmdarr[1] = NULL;
}
}
//printf("%s</br>",cmdarr[1]);
char buf[20480];
FILE *result_file;
if ((result_file = popen(cmdarr[1], "r")) == NULL) {
printf("popen() erro!\n");
exit(1);
}
while (fgets(buf, sizeof buf, result_file)) {
printf("%s<p>", buf);
//CGI 输出字串(这里要怎麽把buf的值输出在页面B上)
}
pclose(result_file);
return 0;
}
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 61.220.247.138
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Web_Design/M.1444027912.A.B9B.html
1F:推 pm2001: a页面里面指定post的target是b 10/05 14:59
2F:→ ms5566288: pm2001大大 您说的是这後面target到b页面吗? 10/05 15:50
3F:→ ms5566288: <FORM ACTION="/cgi-bin/123.cgi" METHOD="post"> 10/05 15:50
4F:→ ms5566288: 谢谢pm2001大大 小弟解决了 : ) 10/05 16:16