Anzeige: Goneo - Du machst das Web!
Anzeige: united-domains - Die ganze Welt der Domains
Einfache & schnelle Domain-Registrierung zu fairen Preisen ohne Einrichtungsgebühren. Mehr als 250 Domain-Endungen aus einer Hand inklusive E-Mail- & Web-Weiterleitung. Einzigartiges Domain-Portfolio zur bequemen & sicheren Verwaltung Ihrer Domain-Namen.
Jetzt Domain-Check bei united-domains!
CGI-Refresh Form nach Submit
Autor: josef777
Datum: 11.09.2009 19:55:57
Hallo,
ich habe folgende CGI-Skript gebastelt:
#!/bin/bash
# Speichert die POST request Parameter
my_conf="/opt/my.conf"
# Import von schon gespeicherten Parameter
source $my_conf
# Capture stdin for POST methods and use tr to grab stdin and append a newline
STDIN=$(cat)
if [ -n "$STDIN" ]; then
  QUERY_STRING="${STDIN}&${QUERY_STRING}"
    if [ -n "$QUERY_STRING" ]; then
        # name=value sind gespeichert
        echo $QUERY_STRING | tr "&" " 12" > $my_conf
    fi
fi
# Insert header
echo "content-type: text/html"
echo ""
echo "<head><title>LAN Interface</title>"
# Insert Javascripts
cat<<JScript
<SCRIPT type="text/javascript" language="JavaScript">
function myForm() {
    // prueft die eingabe, wird spaeter geschrieben
    return true;
}
function setAutoForm() {
        document.myform.size.value = '$size';
//      window.location.reload("/cgi-bin/my.cgi");
}
</SCRIPT>
JScript
# Print the form
echo "</head>"
echo "<html>"
cat <<INSERT_FORM
<BODY onload="setAutoForm()">
<form name="myform" action="/cgi-bin/my.cgi" method="post" onsubmit="return myForm();">
<TABLE>
<TR>
  <TD>Size:</TD>
  <TD><input size="10" type="text" name="size" value="$size"> Bytes</TD>
</TR>
</TABLE>
<hr size="1" width="20%" align="left" noshade >
<input type="submit" size="40" align="middle">
</form>
</body>
INSERT_FORM
echo "</html>"
Mit Submit wird in der Datei my.conf der Parameter "size" und sein Wert (zB: size=3000) abgespeichert. Wenn die Seite neu geladen wird, erscheint im Textfeld leider nicht die letzte Eingabe; dafür sollte ich aber noch ein Refresh im Browser machen.
Wie kann man, ohne auf dem Reload/Refresh-Button zu klicken, die letzte Eingabe im Textfeld anzeigen lassen?
Meine Vesuchungen mit <meta http-request.....> oder Redirect haben nicht richtig funktioniert.
Danke im Voraus.
josef777