phranque - 8:55 am on Apr 17, 2013 (gmt 0)
first you should understand how forms work.
if you use the GET method the form sends the request parameters in the url, with the query string separated from the action path by a question mark, and with each parameter=value pair in the query string separated by ampersands.
if you use the POST method the form sends the request parameters in the body of the request, with each parameter=value pair in the query string separated by ampersands.
what you are seeing is normal behavior according to the HTTP protocol and can't be changed.
as far as how you are using urls, keep in mind that & and = are reserved characters to be used for delimiters and when not used as such according to protocol should be percent-encoded.
URIs include components and subcomponents that are delimited by characters in the "reserved" set. These characters are called "reserved" because they may (or may not) be defined as delimiters by the generic syntax, by each scheme-specific syntax, or by the implementation-specific syntax of a URI's dereferencing algorithm. If data for a URI component would conflict with a reserved character's purpose as a delimiter, then the conflicting data must be percent-encoded before the URI is formed.