gpt4 book ai didi

html - 无法将文本从 html 文件发送到 c 文件

转载 作者:行者123 更新时间:2023-11-30 15:36:08 25 4
gpt4 key购买 nike

我正在尝试编写一个非常基本的 html 文件和一个 cgi 脚本。 HTML 文件将有一个文本框和一个按钮。该按钮会将文本框的内容发送到 cgi 文件(文本框的内容不会显示在 url 中),该文件将简单地打印出文本框的内容。我的 cgi 文件只是打印出“-|”,而不是发生这种情况无论我在文本框中输入什么内容。

这是我的 .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>

这是我的 c 文件,应该从 html 文件接收文本:

#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 或我看到人们在回答 stackoverflow 上其他问题时推荐的各种其他工具。

附注如果您想查看我的 .html 文件的运行情况,请单击 here如果您想使用设置为 POST 而不是 GETS 的方法来查看它,请单击 here .

最佳答案

代码的主要问题是input未初始化。

这就是您在使用 POST 时收到内部服务器错误的原因。

只需将 char *input; 替换为 char *input = (char*)malloc(1000); 就可以了。

关于html - 无法将文本从 html 文件发送到 c 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22649101/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com