[問題] 如何把CGI產生的網頁內值輸出在指定網頁

看板Web_Design作者 (Elaker)時間9年前 (2015/10/05 14:51), 編輯推噓1(103)
留言4則, 2人參與, 最新討論串1/1
如題,小弟最近研究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://www.ptt.cc/bbs/Web_Design/M.1444027912.A.B9B.html

10/05 14:59, , 1F
a頁面裡面指定post的target是b
10/05 14:59, 1F

10/05 15:50, , 2F
pm2001大大 您說的是這後面target到b頁面嗎?
10/05 15:50, 2F

10/05 15:50, , 3F
<FORM ACTION="/cgi-bin/123.cgi" METHOD="post">
10/05 15:50, 3F

10/05 16:16, , 4F
謝謝pm2001大大 小弟解決了 : )
10/05 16:16, 4F
文章代碼(AID): #1M4Xu8kR (Web_Design)
文章代碼(AID): #1M4Xu8kR (Web_Design)