I've had a little experience with mini-browsers... the simple view is that it works on (presumably) quite a few other browsers (tried other phones?), therefore it's likely a Motorola bug - they're not well known for functional phone interfaces are they :)

The goal for small browsers is a small code base, so the HTML parsers sometimes make quite a few assumptions and are less flexible than a desktop browser.

Make your form HTML into XHTML/1.0 compliant HTML - in brief, use double quotes around all attributes, and lower case for all tag and attribute names, and give all attributes a value - eg:

<form method=post ACTION=/scripts/submit.pl> - WRONG
<form method="post" action="/scripts/submit.pl" > - OK
and
<input type=checkbox name='something' value=1 checked> - WRONG
<input type="checkbox" name="something" value="1" checked="checked" /> - OK, note the trailing slash for single-tag elements

If that fails check the "Content-Type" and other headers in the form submission from the phone, AFAIK the phone isn't obliged to submit the POST data in the format you specify in the 'encode' attribute of the form, it could be that your parser is making some assumptions that only work for popular browsers.

If you're still reading, replace your parser with Apache::Request, it's really easy to use and reads parameters for GET and POST requests including file uploads. Its part of libapreq2 which can be 'fun' to install :)

Also the phone should accept cookies but for maximum compatibility use the Version=1 attribute, make sure there are no quotes around the Path attribute, and use the Set-Cookie header, not Set-Cookie2.

hth,
John


Rodger Castle wrote:

This is likely not a strictly mod_perl2 problem, but I'm not finding resolution 
elsewhere.

I have written a custom form data submission parser for our site. Admittedly, 
not one of my wiser decisions, but it works .. until now.

We have a customer trying to use a Motorola i530 phone with a portion of our 
site. Besides not accepting cookies, this phone is doing truly strange things 
with the form submission data. When we pull the form data, the field names have 
doubly-escaped 's and /s surronding the name in the form of %2527 and %255C. 
It's also putting in /' sequences before the requested URL like so .. 
/'/'/'quote.html

Would a more 'standard' form parser alleviate some of this or is this just a 
broken client. I really don't want to introduce a more heavyweight module just 
for this.

Thank you for any guidance that could be given.

Rodger


Reply via email to