html und CGI

Irgendwelche Probleme mit XAMPP für Windows? Dann ist hier genau der richtige Ort um nachzufragen.

html und CGI

Postby Tobias_K » 25. October 2006 17:32

Hallo,

kann mir bitte jemand weiter helfen?
Ich möchte mit xampp eine html Seite aufrufen, in der ich ein CGI-File öffne.

Es geht darum, dass über den Browser ein Hausgaltsgerät mit einem Fehler eingegeben werden kann. Diese Information wird mit Hilfe des CGI-Files ("get") in eine Textdatei gespeichert.

Also die Programme laufen. Habe ich in der FH auf einem Apacheserver getestet.


Meine Frage ist jetzt, wie ich die Files in xampp einbinde?

-Die fehlererfassung.html habe ich in den Ordner "\xampp\htdocs" kopiert.
-Die fehlererfassung_cgi.c habe compiliert und dann in fehlererfassung_cgi.cgi umbenannt und in \xampp\cgi-bin abgelegt.
-Eine Textdatei fehler.txt habe ich in den Ordner \xampp\cgi-bin abgelegt.

Wenn ich das Programm über Firefox starte, wird die html Seite richtig angezeigt. Nachdem ich die Felder ausgefüllt habe und auf OK klicke bekomme ich folgende Meldung:
Firefox weiß nicht, wie die Adresse geöffnet werden soll, da das Protokoll (c) mit keinem Programm verknüpft ist.
Und in meine Textdatei wird auch nichts geschrieben...

Vielen Dank für Eure Hilfe

Gruß Tobias


fehlererfassung.html:

<html>
<body>
<h1 align="center">FEHLERERFASSUNG</h1> </br></br>
<hr>
<form method="get" action="C:\Programme\xampp\cgi-bin\fehlererfassung_cgi.cgi">
Haushaltsgeraet:<br><input name="Fehler"><p>
Fehler:<br><input name="Fehler"><p>
<input type="submit"value="OK"><p>
</form>
<hr>
</body>
</html>

fehlererfassung_cgi.cgi:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main (void)
{
FILE *fptr = NULL;
char *ptr = NULL;
char String [50];

printf("Content-type: text/html\n\n");

ptr = getenv("QUERY_STRING");
strcpy(String, ptr);

fptr = fopen("fehler.txt","a+");
fprintf(fptr, "%s\n",String);
fclose(fptr);

return EXIT_SUCCESS;
}
Tobias_K
 
Posts: 3
Joined: 25. October 2006 17:08

Postby deepsurfer » 25. October 2006 18:01

Ich schätze das dein PERLscript noch Module braucht.

Dazu das PERL-ADDON installieren und die allererste Zeile
deines Perl-Scriptes (shebang genannt) anpassen.

im moment dürfte
#!/usr/sbin/perl stehen
ändern in
#!/xampp/perl/bin/perl.exe


testen und melden
chirio Deep
Wie sagte einst der MCP aus Tron auf dem Bildschirm zu schreiben Pflegte
" ... end of communication ... "
User avatar
deepsurfer
AF Moderator
 
Posts: 6440
Joined: 23. November 2004 10:44
Location: Cologne
Operating System: Win-XP / Win7 / Linux -Debian

Postby kleinweby » 25. October 2006 18:11

öhm deepsurfer, das ist kein perl script ;)

das ist ein C-"Skript" (sieht man auch an der endung) :)

@Tobias_K:
ändere
Code: Select all
<form method="get" action="C:\Programme\xampp\cgi-bin\fehlererfassung_cgi.cgi">

mal in
Code: Select all
<form method="get" action="http://localhost/cgi-bin/fehlererfassung_cgi.cgi">
User avatar
kleinweby
AF Moderator
 
Posts: 393
Joined: 03. August 2005 19:52
Location: Magdeburg
Operating System: Mac OS X 10.7

Postby Tobias_K » 25. October 2006 18:18

Danke Kleinweby,

jetzt funktioniert es!!!

Gruß Tobias
Tobias_K
 
Posts: 3
Joined: 25. October 2006 17:08

Postby deepsurfer » 26. October 2006 11:41

kleinweby wrote:öhm deepsurfer, das ist kein perl script Wink


*grins* ich seh nur CGI-BIN und schon für ein PERLscript, das PERL auf C basiert ist eigentlich klar...

Hast aber recht, ich hätte die Slash sache auch sehen sollen ;)
chirio Deep
Wie sagte einst der MCP aus Tron auf dem Bildschirm zu schreiben Pflegte
" ... end of communication ... "
User avatar
deepsurfer
AF Moderator
 
Posts: 6440
Joined: 23. November 2004 10:44
Location: Cologne
Operating System: Win-XP / Win7 / Linux -Debian


Return to XAMPP für Windows

Who is online

Users browsing this forum: No registered users and 16 guests