日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

网络:CGI程序制作

發布時間:2023/12/20 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 网络:CGI程序制作 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

CGI程序制作

C語言做CGI程序。

先用C語言寫一個程序,編譯,連接,得到一個.exe的可執行文件。

將這個.exe的可執行文件的擴展名.exe改為.cgi,就好了,這就是一個CGI程序了。

代碼:

/*forms.c*/ #include <stdio.h> #include "function.h" int main(void) {PrintHTTPHead();PrintHTMLHead();PrintHTMLTitle("技微工作室成員注冊頁面");printf("<style type=\"text/css\">");printf("h1,div{text-align:center;}");printf("div{width:300px;margin-left:auto;margin-right:auto;}");printf("</style>");PrintHTMLBody();printf("<h1>技微工作室成員注冊頁面</h1>");printf("<div>");printf("<form action=\"cgi/register.cgi\" method=\"post\">");printf("<table border=\"0px\" cellspacing=\"0px\" cellpadding=\"5px\" width=\"300px\">");printf("<tr><td>網名:</td><td><input type=\"text\" name=\"name\"/></td></tr>");printf("<tr><td>密碼:</td><td><input type=\"password\" name=\"password\"/></td></tr>");printf("<tr><td>電子郵箱:</td><td><input type=\"text\" name=\"email\"/></td></tr>");printf("<tr><td>備注:</td><td><textarea name=\"memo\" cols=\"20\" rows=\"3\">備注</textarea></td></tr>");printf("<tr><td colspan=\"2\"><input type=\"submit\" value=\"注冊\"/><input type=\"reset\" value=\"重置\"/><input type=\"button\" value=\"退出\" onclick=\"javascript:window.close();\"/></td></tr>");printf("</table>");printf("</form>");printf("</div>");PrintHTMLFoot(); }

?

/*register.c*/ #include <stdio.h> #include <string.h> #include <stdlib.h> #include "function.h"int main(void) {PrintHTTPHead();PrintHTMLHead();PrintHTMLTitle("register");PrintHTMLBody();char *method,string[255],*temp,tem[4],ch;int length;FILE *fp;temp=string;method=getenv("REQUEST_METHOD");/*用什么方法提立表單*/if(strcmp(method,"POST")==0){length=atoi(getenv("CONTENT_LENGTH"));if(length>255){printf("您的信息似乎不對!");PrintHTMLFoot();exit(0);}fp=fopen("cgi\\information\\inf.txt","a+");if(fp==NULL){printf("服務器端保存信息失敗!");PrintHTMLFoot();exit(0);}fgets(string,length+1,stdin);while(*temp!='\0') {ch=*temp;if(ch=='+'){temp++;continue;}while(ch=='%'){strncpy(tem,temp,3);tem[3]='\0';if(strcmp(tem,"%40")==0)break;temp+=3;ch=*temp;}if(strcmp(tem,"%40")==0){fputc('@',fp);temp+=3;strcpy(tem,"");continue;}if(ch!='&')fputc(ch,fp);elsefputc('\n',fp);temp++;}fputc('\n',fp);fputc('\n',fp);if(fclose(fp)==EOF){printf("文件關閉失敗!");PrintHTMLFoot();exit(0);}printf("信息記錄成功!");}PrintHTMLFoot(); }

?

/*function.h*/ #include <stdio.h> void PrintHTTPHead()/*這個函數必須調用,因為先要發送一個http頭*/ {printf("Content-type:text/html;");printf("\n\n");/*這后面必須要兩個加車,因為http頭后面要空一行*/ } void PrintHTMLHead() {printf("<html>");printf("<head>"); } void PrintHTMLBody() {printf("</head>");printf("<body>"); } void PrintHTMLFoot() {printf("</body>");printf("</html>"); } void PrintHTMLTitle(char *title) {printf("<title>%s</title>",title); }

?

下面是一個簡單的例子。

#include <stdio.h> int main(void) {printf("Content-type:text/html;");/*在我教室電腦上測試,可少,不過不推薦不寫這個*/printf("\n\n");/*測試,不可少*//*以下就是輸出一個html文件的代碼,就是這樣*/printf("<html>");printf("<head>");printf("<title>WELCOME</title>");printf("</head>");printf("<body>");printf("<h1>WELCOME</h1>");printf("</body>");printf("</html>"); }

這里,用printf函數輸出html代碼,不用說,大家應該看得出。

如果要提交表單的話,就在form標簽的action屬性里面填上處理程序。處理程序那邊有post和get兩種方式獲取提交的數據,然后就可以處理了。

?

總結

以上是生活随笔為你收集整理的网络:CGI程序制作的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。