PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Bash als CGI



loading...
14.03.03, 00:27
Guten Tag allerseits...

Kann mir jemand weiterhelfen? Ich möchte gerne Parameter oder Daten aus einer HTML-Form mit einem Bash CGI Skript auf dem Server entgegennehmen (zum Beispiel als Variable).
Ich stelle mir das ungefähr so vor: Eine Person füllt ein Formular aus und klickt auf Submit, was ein Bashscript auslöst, welches die Daten entgegennimmt und auf dem Webserver zum Beispiel als Textdatei abspeichert.

Wie kann ich dass erreichen?

loading...
14.03.03, 00:28
noch was: das script muss mit der bash programmiert sein und es muss ein cgi sein. perl hilft mir nicht.

michael.sprick
14.03.03, 07:33
easy.

dein forumular:

<form action="/cgi-bin/script.sh" method="POST">
Name: <input type="text" name="vorname" size="30">
Telefon: <input type="text" name="telefon" size="30">
</form>


---------------------
dein Script

#!/bin/sh


eval $(cgiparse -from -prefix "")

echo "Name: $vorname , Telefon: $telefon" > datei.txt

echo "Content-Type: text/html\n\n"
echo "<h1> Die eingegebenen Werte waren:<br>"
echo "Name: $vorname <br>"
echo "Telefon: $telefon"


-----------------------


jo - und das isses schon. Die im Formular definierten felder kannst Du im Script dann mit $[inputname] ansprechen....
zb. <form name="test".....

wird im Script zu

$test

wichtig ist die Methode....bei GET musst Du die Parameter anders annehmen...hat aber auch den Nachteil, dass du maximal 255 Zeichen übertragen kannst - bei Post werden die Daten in Pakete gepackt .

b.

loading...
14.03.03, 08:36
Vielen Dank erst einmal! Aber leider funkioniert es noch nicht ganz, wie wäre es auch anders zu erwarten...



eval $(cgiparse -from -prefix "")

Ich kann cgiparse nicht aufrufen in der Konsole.
Was ist cgiparse für ein Programm? Was muss ich dazu installieren? Wo ist das dabei?

Oder kann ich mein Problem auch anders lösen? Gibt es einen anderen Weg als cgiparse?