Moin Sven,
andere Variable einfügen, da ich immer eine Fehlermeldung wegen des Speichers erhalte. Kann mir jemand da helfen?
»» string = getenv("QUERY_STRING"); // Mit dieser Übergabe habe ich Speicherprobleme
»» content[0]='\0';
»» strcpy(content,string); //Konvertierung von Zeiger Char auf Char
Dies hat bei mir dann einen Speicherfehler verursacht, wenn die Umgebungsvariable QUERY_STRING nicht gesetzt war. Grund: get_env("KEY") liefert einen Nullpointer zurück, wenn "KEY" als Umgebungsvariable nicht bekannt ist. Darauf folgend versucht das Programm dann, den char-"Inhalt" ab Adresse 0 in content zu kopieren, was das Betriebssystem wohl nicht unbedingt mag.
int translate()
{
»» z1 = 0;
»» z3 = 0;
»» var[0] = '\0';
»» while ( content[z1] != 0 )
»» {
»» while ( content[z1] != '=' )
»» {
»» z1++;
»» }
hier fehlt die Abfrage, ob content nicht schon längst zu Ende ist. Wenn also QUERY_STRING definiert ist, aber kein '=' enthält, gibt es hier die nächsten Speicherzugriffsprobleme. Besser also Konstrukte wie
for(z1=0; (content[z1]!=0) (content[z1] != '='); ++z1);
verwenden. Das gleiche gilt auch fuer die folgenden Schleifen in translate()...
int ausgabe()
{
»» printf("<html><head><title>Temporärest Gaestebuch</title></head>");
Wie schon von Calocybe angedeutet, fehlt hier ein CGI-Header, also sowas wie
printf("Content-Type: text/html\n\n");
Das waren erstmal soweit meine ersten "Beobachtungen" ;-) Falls es danach immer noch Probleme gibt, kannst Du ja einfach nochmal posten...
Bis dannundwann
Andreas