html与cgi脚本的配合使用
生活随笔
收集整理的這篇文章主要介紹了
html与cgi脚本的配合使用
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
利用boa服務器測試arm開發(fā)板上的cgi和html聯(lián)合編程的小例程。很簡單,但是當時覺得很有意思。在這里給大家展示一下,高手飄過。
<html><head><title>Title of page</title></head> <body><form ACTION="cgi-bin/mult.cgi"> #這里指示cgi腳本的路徑<P>請在下面填入乘數(shù)和被乘數(shù),按下確定后可以看到結(jié)果。 <INPUT NAME="m" SIZE="5" ><INPUT NAME="n" SIZE="5" ><BR><INPUT TYPE="SUBMIT" values="確定"></form ></body> </html>將文件該名稱為Index.html放在www目錄 而mult.cgi代碼如下: #include <stdio.h> #include <stdlib.h> int main(void) { char *data; long m,n; printf("Content-Type:text/html;charset=utf-8\n\n"); printf("<html>\n"); printf("<head>\n<title>乘法結(jié)果</title>\n</head>\n"); printf("<body>\n");data = getenv("QUERY_STRING"); if(data == NULL) printf("<P>錯誤!數(shù)據(jù)沒有被輸入或者數(shù)據(jù)傳輸有問題</p>"); else if(sscanf(data,"m=%ld&n=%ld",&m,&n)!=2) printf("<P>錯誤!輸入數(shù)據(jù)非法。表單中輸入的必須是數(shù)字。</p>"); else printf("<P>%ld和%ld的成績是:%ld。",m,n,m*n); printf("</body>\n");printf("</html>\n"); return 0; } 使用gcc將以上代碼編譯之后,將可執(zhí)行文件該名稱為mult.gci,放 /usr/lib/cgi-bin目錄? 可以參考以上代碼,功能就是提供兩個輸入框,用戶輸入之后,點擊確定提交之后,返回計算結(jié)果。 一個很值得關(guān)系的問題是用戶瀏覽器的網(wǎng)頁怎么和服務器上的cgi腳本交互,在我們點擊提交之后,會發(fā)現(xiàn)在瀏覽器的地址欄有下面的字樣:
mult.cgi?m=254&n=321這就是瀏覽器向服務器傳遞的數(shù)據(jù),m=254 n321,上述寫法是標準格式。 創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎
在ubuntu下安裝boa測試環(huán)境,即先在本地搭建一個boa的網(wǎng)頁服務器。apt-get install boa。稍作配置即可。我的Boa按照默認配置www網(wǎng)頁放在/var/www目錄,而cgi腳本放在/usr/lib/cgi-bin目錄
下面以一個示例較少cgi和html的配合使用<html><head><title>Title of page</title></head> <body><form ACTION="cgi-bin/mult.cgi"> #這里指示cgi腳本的路徑<P>請在下面填入乘數(shù)和被乘數(shù),按下確定后可以看到結(jié)果。 <INPUT NAME="m" SIZE="5" ><INPUT NAME="n" SIZE="5" ><BR><INPUT TYPE="SUBMIT" values="確定"></form ></body> </html>將文件該名稱為Index.html放在www目錄 而mult.cgi代碼如下: #include <stdio.h> #include <stdlib.h> int main(void) { char *data; long m,n; printf("Content-Type:text/html;charset=utf-8\n\n"); printf("<html>\n"); printf("<head>\n<title>乘法結(jié)果</title>\n</head>\n"); printf("<body>\n");data = getenv("QUERY_STRING"); if(data == NULL) printf("<P>錯誤!數(shù)據(jù)沒有被輸入或者數(shù)據(jù)傳輸有問題</p>"); else if(sscanf(data,"m=%ld&n=%ld",&m,&n)!=2) printf("<P>錯誤!輸入數(shù)據(jù)非法。表單中輸入的必須是數(shù)字。</p>"); else printf("<P>%ld和%ld的成績是:%ld。",m,n,m*n); printf("</body>\n");printf("</html>\n"); return 0; } 使用gcc將以上代碼編譯之后,將可執(zhí)行文件該名稱為mult.gci,放 /usr/lib/cgi-bin目錄? 可以參考以上代碼,功能就是提供兩個輸入框,用戶輸入之后,點擊確定提交之后,返回計算結(jié)果。 一個很值得關(guān)系的問題是用戶瀏覽器的網(wǎng)頁怎么和服務器上的cgi腳本交互,在我們點擊提交之后,會發(fā)現(xiàn)在瀏覽器的地址欄有下面的字樣:
mult.cgi?m=254&n=321這就是瀏覽器向服務器傳遞的數(shù)據(jù),m=254 n321,上述寫法是標準格式。 創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎
總結(jié)
以上是生活随笔為你收集整理的html与cgi脚本的配合使用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 有关Lattice Diamond的若干
- 下一篇: php获取访问者ip地址汇总,php获取