2010-10-31 72 views
0

如何獲得表單輸入(POST)以下條件?

1.不硬編碼內容長度
2.與設置PARAM一個函數,它是表單元素名,最後返回字符串

我不能找到互聯網〜c cgi如何獲得表格

感謝上的任何示例

+2

嗯,服務器端的C 2我可以想象一件不那麼痛苦的事情...... – delnan 2010-10-31 14:01:38

+0

如果你正在學習C語言,這對你來說是一個不好的練習 - 它是複雜的代碼。有很多事情要考慮;讓所有的細節正確是一場噩夢(非常困難)。 – 2010-10-31 15:52:38

回答

1

用C編寫的CGI腳本從stdin讀取POST數據。 內容長度由HTTP服務器在CONTENT_LENGTH環境變量中寫入,腳本可以使用getenv來讀取它。除非你正在做某種功課,現在還​​有很多更簡單的方式來做CGI腳本(python,php等)。

參考:The Common Gateway Interface (CGI) Version 1.1

0

除了什麼diciu寫道:

你也必須採取Content-Type的考慮,它可以是 application/x-www-form-urlencodedmultipart/form-data

0

是的,我是學生,學習C〜沒有想法

無效getInput2(){

char *input; 
int len; 

len = atoi(getenv("CONTENT_LENGTH")); 

fgets(input, len+1, stdin); 
printf("%s", input[1]); //error 

}

+0

您應該爲輸入變量分配內存,以便fgets可以在其中寫入內容。你也應該總是檢查你調用的函數的結果(getenv,fgets)。最後,我認爲用一個不同的問題來回答你的問題被認爲是不好的形式。如果需要,您可以編輯原始問題並添加其他數據。 – diciu 2010-10-31 15:37:48

+4

請勿將您的問題的評論或修改發佈爲「答案」。您可以編輯自己的問題,並發表評論。 – 2010-10-31 15:51:18