Ich habe aus Lernzwecken ein simples C-Programm geschrieben (kopiert). Wird dieses Programm von einem NT Server (mit Netscape Web-Server) aufgerufen wird ein Fehler erzeugt. Der Netscape 4.5 Browser meldet SERVER ERROR. Auf dem LOG des Netscape Servers finde ich: "... the CGI Program multi.exe did not produce a valid header ...". Das Programm ist als DOS-Programm mit einem Borland C++ Compiler kompiliert worden.
Auf einer Linux-Maschine (mit Apache Server) läuft das Programm einwandfrei:
Für Eure Hilfe bedanke ich mich im voraus
Edmund Schöpf
Hier die Sourcen:
HTML:
<FORM ACTION="http://meinemaschine/cgi-bin/multi.exe">
<P>Please specify the multiplicands:
<INPUT NAME="m" SIZE="5">
<INPUT NAME="n" SIZE="5"><BR>
<INPUT TYPE="SUBMIT" VALUE="Multiply!">
</FORM>
"C": (multi.c)
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
char *data;
long m,n;
printf("%s\n\n",
"Content-Type:text/html");
printf("<HTML>\n");
printf("<HEAD><TITLE>Multiplication results</TITLE></HEAD>\n");
printf("<BODY><H3>Multiplication results</H3>\n");
data = getenv("QUERY_STRING");
if(data == NULL)
printf("<P>Error! Error in passing data from form to script.");
else if(sscanf(data,"m=%ld&n=%ld",&m,&n)!=2)
printf("<P>Error! Invalid data. Data must be numeric.");
else
printf("<P>The product of %ld and %ld is %ld.",m,n,m*n);
printf("</BODY></HTML>\n");
return 0;
}