POST problems
Hi all. Having a curious problem with the POST command with all CGI scripts on a particular server (Apache/1.3.14 (Unix) (Red-Hat/Linux) DAV/1.0.2 PHP/4.0.6 mod_perl/1.24). Basically, it doesn't work. Form inputs are treated as though the inputs were blank. It doesn't appear to be a permissions error as no error reports are issued and nothing appears in the error log. GET still works. Everything was working fine up until a few weeks ago. The server admin claims nothing has been modified in that time (I'm skeptical) and is clueless as to the cause. I've scoured httpd.conf and haven't found anything obvious there that might cause this. Fishing for a clue. Any suggestions appreciated. Corey.
Re: POST problems
I've seen similar weird things happening with some of our users. It's always IE 5 or IE 5.5 users it seems. It also seems to start 'randomly'. We'll get emails saying "Everything was working great last week, now whenever I click a button on your site nothing happens". Are far as I can tell, the form is submitted, but there are no fields in the submitted data. I haven't been able to reproduce it reliably yet, or work out if only some fields are sent, or none at all. Has anyone else heard of something like this? Rob - Original Message - From: "Corey Durward" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Friday, September 20, 2002 8:52 AM Subject: POST problems > Hi all. > > Having a curious problem with the POST command with all CGI scripts on a > particular server (Apache/1.3.14 (Unix) (Red-Hat/Linux) DAV/1.0.2 PHP/4.0.6 > mod_perl/1.24). Basically, it doesn't work. Form inputs are treated as > though the inputs were blank. It doesn't appear to be a permissions error as > no error reports are issued and nothing appears in the error log. GET still > works. > > Everything was working fine up until a few weeks ago. The server admin > claims nothing has been modified in that time (I'm skeptical) and is > clueless as to the cause. I've scoured httpd.conf and haven't found anything > obvious there that might cause this. > > Fishing for a clue. Any suggestions appreciated. > > Corey. > > > > > >
Re: POST problems
On Fri, Sep 20, 2002 at 08:22:11AM +0930, Corey Durward wrote: > Having a curious problem with the POST command with all CGI scripts on a > particular server (Apache/1.3.14 (Unix) (Red-Hat/Linux) DAV/1.0.2 PHP/4.0.6 > mod_perl/1.24). Basically, it doesn't work. Form inputs are treated as > though the inputs were blank. I hit exactly this problem, maybe about six months ago. > Everything was working fine up until a few weeks ago. The server admin > claims nothing has been modified in that time (I'm skeptical) and is > clueless as to the cause. In my case, I found it could be triggered by some mod_perl scripts; running those left each Apache in a confused state where it lost all cgi POST params. I was vaguely interested to hunt it down, enough to collect lots of system call traces and so on, but then pressure of time led me just to try upgrading everything - to mod_perl 1.26 on perl 5.6.1 and apache 1.26 or whatever. And the problem went away. Anthony This communication is for informational purposes only. It is not intended as an offer or solicitation for the purchase or sale of any financial instrument or as an official confirmation of any transaction. All market prices, data and other information are not warranted as to completeness or accuracy and are subject to change without notice. Any comments or statements made herein do not necessarily reflect those of J.P. Morgan Chase & Co., its subsidiaries and affiliates.
Re: POST problems
I recalled a similar problem sometimes ago. But it is repeatable. One of the form fields went to empty, if other fields contain unicode or double bytes. It might link to escaped characters or unicode in the query string. The form handles uploading using Apache:Request. Peter - Original Message - From: "Anthony Heading" <[EMAIL PROTECTED]> To: "Corey Durward" <[EMAIL PROTECTED]> Cc: <[EMAIL PROTECTED]> Sent: Friday, September 20, 2002 2:38 AM Subject: Re: POST problems > On Fri, Sep 20, 2002 at 08:22:11AM +0930, Corey Durward wrote: > > Having a curious problem with the POST command with all CGI scripts on a > > particular server (Apache/1.3.14 (Unix) (Red-Hat/Linux) DAV/1.0.2 PHP/4.0.6 > > mod_perl/1.24). Basically, it doesn't work. Form inputs are treated as > > though the inputs were blank. > > I hit exactly this problem, maybe about six months ago. > > > Everything was working fine up until a few weeks ago. The server admin > > claims nothing has been modified in that time (I'm skeptical) and is > > clueless as to the cause. > > In my case, I found it could be triggered by some mod_perl scripts; > running those left each Apache in a confused state where it lost all > cgi POST params. I was vaguely interested to hunt it down, enough > to collect lots of system call traces and so on, but then pressure of > time led me just to try upgrading everything - to mod_perl 1.26 on > perl 5.6.1 and apache 1.26 or whatever. And the problem went away. > > Anthony > > > This communication is for informational purposes only. It is not intended as > an offer or solicitation for the purchase or sale of any financial instrument > or as an official confirmation of any transaction. All market prices, data > and other information are not warranted as to completeness or accuracy and > are subject to change without notice. Any comments or statements made herein > do not necessarily reflect those of J.P. Morgan Chase & Co., its > subsidiaries and affiliates. > >
multipart POST problems
I've been attempting to write a perl module that handles POSTs of type multipart/form-data, and have been having a rough time. I'm using Apache::Request to process the request. I have dumped the content-type of the incoming request, and verified that it's "multipart/form-data". I can use param() to get the parameters, but I can't seem to use upload() to access the blocks directly. I've included the code from my test handler below. Basically it attempts to access a large parameter MIME block two ways - using param() and using upload(). The param() version works fine, but the upload() version can't find the block. Any clues? The only thing that I can think of is that for this test case, the MIME type of the "message" block is text/plain (it's in a TEXTAREA field, for testing purposes). Is it possible that Apache::Request will not allow me to process "normal" form fields with upload()? -jse sub handler { my $r = shift; my $apr = Apache::Request->new($r); my $block; my $buffer; $r->content_type('text/html'); $r->send_http_header(); $buffer = $apr->param('message'); $r->print("Message:$buffer"); $block = $apr->upload('message'); if ($block) { $r->print("Found message"); } else { $r->print("No message"); } return OK; }
multipart POST problems
This is a resend - for some reason I'm having problems sending to the list from my main email account. Doh! -jse I've been attempting to write a perl module that handles POSTs of type multipart/form-data, and have been having a rough time. I'm using Apache::Request to process the request. I have dumped the content-type of the incoming request, and verified that it's "multipart/form-data". I can use param() to get the parameters, but I can't seem to use upload() to access the blocks directly. I've included the code from my test handler below. Basically it attempts to access a large parameter MIME block two ways - using param() and using upload(). The param() version works fine, but the upload() version can't find the block. Any clues? The only thing that I can think of is that for this test case, the MIME type of the "message" block is text/plain (it's in a TEXTAREA field, for testing purposes). Is it possible that Apache::Request will not allow me to process "normal" form fields with upload()? -jse sub handler { my $r = shift; my $apr = Apache::Request->new($r); my $block; my $buffer; $r->content_type('text/html'); $r->send_http_header(); $buffer = $apr->param('message'); $r->print("Message:$buffer"); $block = $apr->upload('message'); if ($block) { $r->print("Found message"); } else { $r->print("No message"); } return OK; }
RE: multipart POST problems
My understanding is that upload() is only for only and that param() handles all of the other form elements. That's how I've implemented it here and all works as expected. BTW, I don't do any checking to see how the form was submitted. I use Apache::Request for all of my form submission methods and everything works fine, no matter how the information was submitted. > -- > From: John S. Evans[SMTP:[EMAIL PROTECTED]] > Sent: Thursday, November 18, 1999 5:54 PM > To: modperl > Cc: [EMAIL PROTECTED] > Subject: multipart POST problems > > I've been attempting to write a perl module that handles POSTs of type > multipart/form-data, and have been having a rough time. > > I'm using Apache::Request to process the request. I have dumped the > content-type of the incoming request, and verified that it's > "multipart/form-data". I can use param() to get the parameters, but I > can't > seem to use upload() to access the blocks directly. > > I've included the code from my test handler below. Basically it attempts > to > access a large parameter MIME block two ways - using param() and using > upload(). The param() version works fine, but the upload() version can't > find the block. > > Any clues? The only thing that I can think of is that for this test case, > the MIME type of the "message" block is text/plain (it's in a TEXTAREA > field, for testing purposes). Is it possible that Apache::Request will > not > allow me to process "normal" form fields with upload()? > > -jse > > > sub handler > { > my $r = shift; > my $apr = Apache::Request->new($r); > my $block; > my $buffer; > > $r->content_type('text/html'); > $r->send_http_header(); > > $buffer = $apr->param('message'); > $r->print("Message:$buffer"); > > $block = $apr->upload('message'); > if ($block) > { > $r->print("Found message"); > } > else > { > $r->print("No message"); > } > > return OK; > } >
Re: multipart POST problems
On Thu, 18 Nov 1999, John S. Evans wrote: > I've been attempting to write a perl module that handles POSTs of type > multipart/form-data, and have been having a rough time. > > I'm using Apache::Request to process the request. I have dumped the > content-type of the incoming request, and verified that it's > "multipart/form-data". I can use param() to get the parameters, but I can't > seem to use upload() to access the blocks directly. > > I've included the code from my test handler below. Basically it attempts to > access a large parameter MIME block two ways - using param() and using > upload(). The param() version works fine, but the upload() version can't > find the block. > > Any clues? The only thing that I can think of is that for this test case, > the MIME type of the "message" block is text/plain (it's in a TEXTAREA > field, for testing purposes). Is it possible that Apache::Request will not > allow me to process "normal" form fields with upload()? does the libapreq-x.xx/eg/perl/file_upload.pl script work for you?