You are viewing a plain text version of this content. The canonical link for it is here.
Posted to asp@perl.apache.org by Sterpu Victor <vi...@casnt.ro> on 2012/01/15 20:04:10 UTC

POST not working

POST method is not working when I use Apache::ASP.
My setup is like this:
- global.asa

    use CGI;
    our ($cgi);
    sub Script_OnStart {$cgi = new CGI;}
    sub Script_OnFlush {}

- Apache containts the following setup for ASP

    AddHandler cgi-script .cgi
    <Files ~ (\.cgi)>
          AddHandler perl-script .cgi
          PerlHandler Apache::ASP
    </Files>
    PerlSetVar Global /tmp

- and my test script "test_post.cgi"

    <%
    use CGI;
    print "[1]test is ".$cgi->param("test")."<br>";
    print "
    <form action=test_post.cgi method=post>
    <input type=text name=test>
    <input type=submit>
    </form>
    ";
    %>

When I run the script I should get the value of the test variable but 
$cgi->param("test") is always empty.
GET method is working fine.
How can I fix this?

Thanj you.

Re: POST not working

Posted by Tsirkin Evgeny <ts...@gmail.com>.
I am not sure ,but it looks like BinaryRead will just read STDIN/mod_perl
buffer
entirely into internal buffer .While getting multipart/form-data a CGI
object
is used to read a file upload.
This is just an explanation ,is that OK ?I guess yes.
Evgeny

On Tue, Feb 7, 2012 at 3:09 AM, Arnon Weinberg <ar...@back2front.ca> wrote:

>
> Thanks for this, ran into the same issue, and that fix worked perfectly.
>
> Note: This affects forms processed using CGI that are submitted with
> method="post" and enctype="application/x-www-form-urlencoded" (the
> default).
> Using method="get" or enctype="multipart/form-data" does not cause the
> problem,
> so may be another solution for some.
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: asp-unsubscribe@perl.apache.org
> For additional commands, e-mail: asp-help@perl.apache.org
>
>

Re: POST not working

Posted by Arnon Weinberg <ar...@back2front.ca>.
Thanks for this, ran into the same issue, and that fix worked perfectly.

Note: This affects forms processed using CGI that are submitted with
method="post" and enctype="application/x-www-form-urlencoded" (the default). 
Using method="get" or enctype="multipart/form-data" does not cause the problem,
so may be another solution for some.



---------------------------------------------------------------------
To unsubscribe, e-mail: asp-unsubscribe@perl.apache.org
For additional commands, e-mail: asp-help@perl.apache.org


Re: POST not working

Posted by Sterpu Victor <vi...@casnt.ro>.
I found a solution by adding "PerlSetVar RequestBinaryRead Off" to my 
apache config.


On 15.01.2012 21:04, Sterpu Victor wrote:
> POST method is not working when I use Apache::ASP.
> My setup is like this:
> - global.asa
>
>     use CGI;
>     our ($cgi);
>     sub Script_OnStart {$cgi = new CGI;}
>     sub Script_OnFlush {}
>
> - Apache containts the following setup for ASP
>
>     AddHandler cgi-script .cgi
>     <Files ~ (\.cgi)>
>          AddHandler perl-script .cgi
>          PerlHandler Apache::ASP
>     </Files>
>     PerlSetVar Global /tmp
>
> - and my test script "test_post.cgi"
>
>     <%
>     use CGI;
>     print "[1]test is ".$cgi->param("test")."<br>";
>     print "
>     <form action=test_post.cgi method=post>
>     <input type=text name=test>
>     <input type=submit>
>     </form>
>     ";
>     %>
>
> When I run the script I should get the value of the test variable but 
> $cgi->param("test") is always empty.
> GET method is working fine.
> How can I fix this?
>
> Thanj you.