亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

用CGI編寫WEB查詢系統

2019-11-17 05:51:08
字體:
來源:轉載
供稿:網友
 摘要:本文分析討論了將WEB與后以數據源相連的方法之一——公共網關界面CGI的概念與特點,并以成績查詢系統作為實例具體分析了用C語言進行CGI程序設計的方法與過程。

一CGI簡述
公共網關界面(CGI)是一種編程標準,它規定了Web服務器調用其它可執行程序(CGI程序)的接口協議標準。CGI程序通過Web服務器與運行Web服務器調用其它可執行程序交互,它接受Web瀏覽器發送給Web服務器的信息,并進行處理,然后將結果再送回給Web服務器及Web瀏覽器。CGI程序可以用任何程序設計語言編寫,如Shell、perl、C、java等,用C語言編寫的CGI程序具有速度快、安全性高等特點。CGI程序通常用于加入查詢機制、搜索機制、交互式應用及其它一些應用。CGI接口標準包括輸入、環境變量、標準輸出三部分,CGI程序可以通過標準輸入(stdin)從Web服務器得到輸入信息,例如從FORM中得到數據,這就是常用的POST方法。由于不同的操作系統采用了不同的信息交換機制,其參數傳遞的處理過程也有差別,在Unix與DOS中,環境信息反映著本級程序運行時的某些系統狀況,可用于父程序與子程序間的信息傳遞,CGI正是通過設量環境變量在服務器與客戶機間傳遞數據的,各操作系統都提供了許多環境變量,它們定義了程序的執行環境,應用程序可以存取它們。Web服務器和CGI接口也設置了一些環境變量用以傳遞一些重要的參數。CGI程序通過標準輸出(stdout)將輸出信息傳送給Web服務器,傳送給服務器的信息可以是Html文本也可以是純文本。本文將利用C語言編寫一個CGI應用程序——學生成績查詢系統,并分析了CGI程序設計的方法、過程、技巧。

二、成績查詢系統介紹
一個在WWW環境下的學生成績公布欄必將成為日后各類成績發布的主要手段,每位學生交將有自己的密碼,所以不必擔心成績上網之后的保密性。任何學生以任何形式上網進入本站點的成績查詢系統之后,只要輸入自己的系列、班別、學號及密碼,便可以利用這個學生績查詢系統查詢自己的成績,該設計思路與系統不僅適合各類高校內部的成績發布,也適合于全國高考、統考等大規??荚嚨某煽儼l布。本文介紹的只是一個功能單一的查詢系統,若需完善還需加入成績維護部分,由成績治理者進行內容維護,包括成績輸入、修改、刪除等功能。

三、HTML FORM格式部分
3.1 FORM輸放的分解
在UNIX系統上,CGI信息是利用STDIN/STDOUT方式傳輸的,所以若要編寫一個C語言的CGI程序,就必須要了解如何解剖與截取STDIN的CGI信息。當用戶提交一個HTMLFORM時,WEB瀏覽器首先對FORM中的數據以名字/值對的形式進行編碼,并發送給WEB服務器,然后再由WEB服務器傳遞給CGI程序,其格式如下:
NAME1=VALUEL&NAME2=VALUE2&NAME3····
名字是FORM中定義的INPUT,SELECT等標置名字,值是用戶輸入或選擇的標值,在程序中將對其進行分析與解碼,將其分解成一組組的名字/值對,這個過程是通過在輸入流中查找字符“=”與“&”來完成的,每當找到字符“=”,標志著一個FORM變量名字的結束,當找到字符“&”,標志著一個FORM變量值的結束。當名字/值對分解完之后,還須將輸入中的一些非凡字符轉換成相應的ASCII字符,如需將“+”轉換成空格符,將一些非凡字符轉換成ASCII字符,對以上分所分析的分解與轉換過程,在下面的程序中有具體注明。3.2HTML FORM文件成績查詢系統的HTML文件P.htrnl<TITLE>學生成績查詢系統</TITLE><H1>學生成績查詢系統</H1><FORM METHOD="POST"ACTION="URL地址"<H3>系列:<SELECTNAME="Department"><OPTION>計算機系<OPTION>英語系<OPTION>無線電系</SELECT>學號:<INPNT TYPE="TEXT"NAME="ID">密碼:<INPNT TYPE="PASSWord"NAME"PASSWORD"><INPNT TYPE="SUBMIT"VALUE"查詢”><INPNT TYPE+"RESET"VALUE="放棄”〉</FORM>四、學生成績查詢CGI程序

該CGI程序分解、接收HTML FORM中提供的查詢條件,然后查詢出該學生的成績并返回。學生成績有兩個數據文件,一個是***SUB DAT,其中含有學生的各個科目,***表示系別,如計算機系的科目文件是COMPSUB DAT,英語系的科目文件是ENGSUB.DAT,無線電系科目文件是ELECSUB.DAT;另一個數據文件是***SCOER.DAT,該文件中包含有每個學生的學號、密碼與成績,***表示系別,如計算機系的學生成績文件是COMPSCORE.DAT,同理,其他系的學生成績文件按此原則以此類推。當學生輸入的學號及密碼符合數據文件的內容時,就會顯示該學生的成績。main(int argc,char*argv[]){register int I,m=0;int len;FILE*fp,*fpl,*fopen();char filename1[100],filename2[100],title[100];/*設定資料變量*/char subject[10][10];char id[100][10],pass<a href="http://www.49028c.com/article.asp?typeid=117">Word</a>[100][10];int score[100][20],sum[100],allsum;float avg[100],alltotalavg;int rank,number,index,find,j,kind;<a ));for(I=0;len && (!feof(stdin));I++){m=Iinputs[I].val=readdstdin(stdin,&,&len);/*讀STDiN信息*/AddToSpace(inputs[I].val);Convert(inputs[I].val);inputs[I].name=ReadData(inputs[I].val,=);}strcpy(filename1,"/score/setup/");stUCpy(filename2,"/xcore/data/");if(strcmp(inputs[o].val,"計算機系/)==0strcat(filename1,"compusb.dat");strcat(filename2,"compscore.dat");}if(strcmp(inputs[o].val,"英語系")==0strcat(filenamel,"engsub.dat");strcat(filename2,"engscore.dat");}if(strcmp(inputs[o].val,"無線電系")==0}strcat(filename1,"elecsub.dat");strcat(filename2,"elecscore.dat");}fp=fopen(filename1,"r");/*打開文件*/kind=0;while(fscanf(fp,"%s",subject[kind]!=EOFkind=kind+1;fclose(fp);fp1=fopen(filename2,"r");/*打開文件*/allsum=0;for(I=0;I<100;I++){numbde=I;if(fscanf(fp1,"%s%s",id[I],password[I]!=EOF){sum[I]=0;for{j=0;j<kind;j++){fscanf(fp1,"%d",&score[I][j]);sum[I]+=score[I][j];}avg[I]=sum[I]/kind;allsum+=sum[I];}elsebreak;}fclose(fp1);find=0;if(strcmp(inputs[2].val,id[I])==0&&strcmp(inputs[3].val,password[I]==0){index=I;find=I;}}if(find==0){printf{"<H>輸入有誤,請再輸一次!</h1>/n");}else{rank=1for(I=o;I<number;I++)if(sum[index]<sum[I])rank=rank+1;slltotalavg=allsum/number;printf("<center><H1>學生成績查詢系統</H1></center>");pritf("/n<center>查詢學生學號:%s</center><br>",inputs[2].val);printf("/n<center>成績如下:</certer><hr>");for(I=0;I<kind;I++)printf{"%s/t",subject[kind]);printf("總分<br>/n");for(I=0;I<kind;I++)printf("%d/t",score[index][I]);printf["%d<br>/n",sum[index]);}}五、結束語
本文以學竽成績查詢系統作為實例,具體分析了用C語言進行CGI程序設計的方法與過程,隨著INTERET/INTRANET應用的深入,將WEB與多臺數據庫聯接的需求也日益迫切,CGI可以使得WEB能夠能最低程序的復雜性與其后臺信息集成,成為一種支持多種類型的通用環境,但是由于在CGI方式中每執行一次交互都需啟動一個外部程序,因此其在實時應用方面受到了限制,因,WEB SENER API及JOCBC等應用方式也正在成熟。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
九九热这里只有精品6| 在线观看中文字幕亚洲| 成人av资源在线播放| 日韩二区三区在线| 国产99视频在线观看| 国产亚洲精品久久久久久牛牛| 亚洲国模精品私拍| 欧美日韩国产在线播放| 日韩中文字幕精品视频| 97超碰国产精品女人人人爽| 色综合天天狠天天透天天伊人| 91精品国产91久久久久| 日韩电影在线观看中文字幕| 亚洲欧美日韩视频一区| 欧美黄色成人网| 九九热视频这里只有精品| 亚洲激情视频在线播放| 91午夜在线播放| 97在线视频免费播放| 色偷偷偷综合中文字幕;dd| 91精品啪aⅴ在线观看国产| 亚洲激情中文字幕| 91精品国产亚洲| 欧美国产一区二区三区| 国产精品mp4| 亚洲色图日韩av| 日韩中文视频免费在线观看| 成人网在线免费看| 青青草99啪国产免费| 欧美亚洲视频一区二区| 亚洲欧洲黄色网| 51色欧美片视频在线观看| 九九热精品视频| 91麻豆国产语对白在线观看| 欧美激情在线观看视频| 疯狂做受xxxx欧美肥白少妇| 正在播放欧美视频| 欧美一级大片视频| 伊人久久久久久久久久久久久| 亚洲高清一区二| 国产成人综合亚洲| 亚洲香蕉成视频在线观看| 麻豆国产精品va在线观看不卡| yellow中文字幕久久| 国产精品一区久久| 国产综合在线视频| 亚洲品质视频自拍网| 精品在线欧美视频| 一区二区三区视频免费| 中文字幕成人在线| 日韩精品在线观看一区| 中国人与牲禽动交精品| 亚洲香蕉伊综合在人在线视看| 欧美最猛性xxxx| 4p变态网欧美系列| 国产美女久久精品香蕉69| 国产精品美女久久| 欧美日韩亚洲一区二区| 亚洲v日韩v综合v精品v| 亚洲精品小视频在线观看| 成人信息集中地欧美| 国产精品日韩一区| 亚洲影视九九影院在线观看| 国产精品成人一区二区| 成人妇女免费播放久久久| 久久五月天色综合| 夜夜嗨av一区二区三区免费区| 亚洲乱码av中文一区二区| 亚洲第一区在线观看| 色偷偷偷亚洲综合网另类| 国产一区二区视频在线观看| 午夜欧美不卡精品aaaaa| 97视频色精品| 中文字幕一区日韩电影| 欧美在线视频播放| 日韩大片免费观看视频播放| 日韩中文字幕在线观看| 欧美性猛交xxxx富婆| 尤物九九久久国产精品的特点| 国产免费一区视频观看免费| 高潮白浆女日韩av免费看| 国产综合在线视频| 国产精品久久一区| 国产日韩在线看| 国产精品久久久久久久久久久久| 日韩精品视频免费专区在线播放| 91精品免费久久久久久久久| 亚洲一区二区黄| 午夜精品在线视频| 亚洲国产精品中文| 国产91网红主播在线观看| 日韩精品视频在线播放| 久久69精品久久久久久国产越南| 国产91精品青草社区| 亚洲国产黄色片| 91免费人成网站在线观看18| 人人爽久久涩噜噜噜网站| 高清日韩电视剧大全免费播放在线观看| 亚洲视频免费一区| 久久91亚洲精品中文字幕| 成人做爰www免费看视频网站| 羞羞色国产精品| 92福利视频午夜1000合集在线观看| 精品国内自产拍在线观看| 亚洲激情在线观看视频免费| 精品国产乱码久久久久久天美| 国产精品女人网站| 成人h片在线播放免费网站| 自拍亚洲一区欧美另类| 中文字幕欧美专区| 8x海外华人永久免费日韩内陆视频| 欧美激情免费看| 国产日韩欧美在线视频观看| 最近2019年中文视频免费在线观看| 亚洲欧洲日本专区| 在线丨暗呦小u女国产精品| 精品久久久久久久久久久| 成人日韩av在线| 欧美性xxxx极品hd欧美风情| 51午夜精品视频| 日日噜噜噜夜夜爽亚洲精品| 日韩av电影在线播放| 7m第一福利500精品视频| 国产成人精品久久二区二区| 2019中文字幕全在线观看| 亚洲免费视频观看| 国产精品久久久久久亚洲影视| 亚洲黄页网在线观看| 欧美大片在线免费观看| 国产精品久久久久秋霞鲁丝| 久久精品2019中文字幕| 奇米4444一区二区三区| 精品国产精品三级精品av网址| 欧美激情videoshd| 这里只有精品视频| 精品亚洲精品福利线在观看| 亚洲精品国产电影| 国产精品高清免费在线观看| 免费99精品国产自在在线| 亚洲精品国产电影| 精品国产一区av| 蜜月aⅴ免费一区二区三区| 精品久久久免费| 欧美成人免费一级人片100| 国产精品久久久久久亚洲调教| 在线午夜精品自拍| www.亚洲一区| 91精品久久久久久久久久久久久久| 日韩电影大片中文字幕| 国产精品久久一区| 国产精品白丝av嫩草影院| 综合网中文字幕| 亚洲区一区二区| 日韩精品在线免费观看| 日韩不卡在线观看| 欧美怡春院一区二区三区| 成人啪啪免费看| 亚洲xxxx3d| 国产精品 欧美在线| 自拍视频国产精品| 国产一区二区三区视频在线观看| 国产成人精品免费久久久久| 久久久av亚洲男天堂| 国产精品精品一区二区三区午夜版|