POST variables to CGI via URL with URLencoded string fails??

Dave Cragg dcragg at lacscentre.co.uk
Fri Oct 17 05:03:44 EDT 2003


At 2:07 pm -1000 16/10/03, Sannyasin Sivakatirswami wrote:
>I have a simple CGI running that  receives subscription requests to
>our Hindu Press International mailing list.
>
>Odd thing is... if I post the name and email address (only two
>fields in this form) to the CGI from a web form.. it works..
>
>but if we try to post the same two values via a standard URL, with
>the input values appended in the normal way a URLencoded string, the
>CGI does respond, but it tells us that standardIn is returning
>empty??
>
>The beginning of the CGI is straightforward:
>
>on startup
>     read from stdin until empty
>     put it into temp
>put  urlDecode (it)  into tDataIn
>put tDataIn into tRemit
>      split tDataIn by "&" and "="
>   put isWellFormedMailtoScheme (tDataIn ["email"]) into emailCheck
>    switch emailCheck
>
>  ##  etc. process the subscription.. only two values expected, name
>and email address...
>
>But this:
>
>http://www.hinduismtoday.com/cgi-bin/
>send_sub_request.cgi?name=Aloha+test&email=jiva%40hindu.org
>
>doesn't work... standardIn returns empty.

In this case you should be using GET not POST.

On the server side, your script shouldn't be reading from the socket; 
that will only get posted data, and in this case there is none. 
Instead, it should be getting the $QUERY_STRING environment variable 
which should contain this:

name=Aloha+test&email=jiva%40hindu.org

Cheers
Dave


More information about the use-livecode mailing list