Hur är det meningen att man ska adressera ett perl-script i ett html-formulär, när man vill skicka med tre parametrar? Om jag gör det ifrån en browsers adressfält, kan jag få följande...
http://<IP_adress>/cgi-bin/<script_namn>.pl?../inout/infil1.htm+../inout/infil2.htm+../inout/utfil3.htm
...att fungera, men är det RÄTT och hur får jag ut exakt SAMMA "sträng" från ett html-formulär? När jag försöker med...
<form method="post" name="<script_namn>" action="../cgi-bin/<script_namn>.pl">
<input type="text" size="50" name="infil1" value="exempel: ../inout/infil1.htm">
<input type="text" size="50" name="infil2" value="exempel: ../inout/infil1.htm">
<input type="text" size="50" name="utfil3" value="exempel: ../inout/utfil3.htm">
<input type="submit" name="submit" value="SEND & create file">
<input type="reset" name="reset" value="RESET all fields">
...vet jag inte vad som skickas, och scriptet svarar som om det inte får någon parameter skickad till sig, alls.
Du kan inte använda ett "vanligt" perlscript (som är tänkt att köra som kommandoradsprogram) som CGI. Om du POST:ar formuläret, kommer parametrarna in på stdin som t.ex. infil1=../inout/infil1.htm&infil2=../inout/infil2.htm&utfil3=../inout/infil1.htm, med alla icke-ASCII-tecken URL-kodade. Använder du GET som metod kommer parametrarna på samma format fast i miljövariabeln QUERY_STRING. Det borde finnas en massa CPAN-moduler som kan sköta sånt här åt dig, googla runt lite.
Sen kan man kanske rekommendera att du kollar in nån CGI-tutorial också. Finns rätt mycket man måste tänka på...
Men du, förresten!? Hur kommer det sig att följande fungerar, om man skjuter det i en webbrowsers adressfält?
http://<IP_adress>/cgi-bin/<script_namn>.pl?../inout/infil1.htm+../inout/infil2.htm+../inout/utfil3.htm
BORDE man inte då rimligen kunna få en html-sida att ge ifrån sig en identisk "sträng"?
Det är det som händer när du har metoden GET (det är den metod som används för att hämta webbsidor när man surfar runt på vanligt vis och klickar på länkar och har sig). Allt efter frågetecknet ligger i QUERY_STRING.
260 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25