我想寫一個非常基本的HTML文件和CGI腳本。 HTML文件將有一個文本框和一個按鈕。該按鈕會將文本框的內容發送到cgi文件(沒有顯示在URL中的文本框的內容),該文件將簡單地打印出文本框的內容。取而代之的是,我的cgi文件只是打印出' - |'不管我放在文本框中。無法從HTML文件發送文本到C文件
這裏是我的.html文件:
<html>
<head>
<title>template webpage</title>
</head>
<body bgcolor="white" text="black">
<form action="http://cgi.cs.mcgill.ca/~eross12/cgi-bin/results.cgi" method="GETS">
<div><label>Input: <input name="data" size="5"></label></div>
<div><input type="submit" value="Send!"></div>
</form>
</body>
</html>
這裏是應該被接收的HTML文件中的文本我的C文件:
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
char *data;
char *input;
printf("%s%c%c\n","Content-Type:text/html;charset=iso-8859-1",13,10);
printf("<TITLE>Received Data</TITLE>\n");
printf("<H3>Received Data</H3>\n");
data = getenv("QUERY_STRING");
if(data == NULL)
printf("<P>Error! Error in passing data from form to script.");
else
{
fgets(input,256,stdin);
printf("<P>The input is: \"%s\"",input);
}
return 0;
}
從我讀過什麼在線我相信,如果我想使用fgets,我的表單中的'方法'應該是POST而不是GETS,但是如果我進行了更改,當單擊我的按鈕時會出現內部服務器錯誤。如果有人能告訴我需要做出什麼改變,我將非常感激!或者,如果您可以向我展示一個基本的.html文件和基本的c腳本,它可以完成我所描述的那個功能,那也同樣美妙!不幸的是,我不能使用JavaScript或PHP或其他各種工具,我曾經見過人們在回覆其他關於計算器的問題時推薦使用這些工具。
P.S.如果您想查看我的.html文件,請單擊here,如果您想要使用設置爲POST而不是GETS的方法查看它,請單擊here。
嘿,很抱歉沒有及早回覆你。我代表朋友問了這個問題,他們從未說過他們得到了迴應!你的解決方案完美運作 考慮到他使用他的教授提供的代碼,我很驚訝這是一個簡單的錯誤,但它往往是小事情,讓我們循環! 無論如何,再次感謝您的幫助! – everett980
沒有問題。 – merlyn