Closed (fixed)
Project:
Drupal core
Version:
7.15
Component:
user.module
Priority:
Normal
Category:
Support request
Assigned:
Unassigned
Reporter:
Created:
24 Aug 2012 at 16:27 UTC
Updated:
24 Aug 2012 at 23:34 UTC
Only one query string can be passed when logging in using
...user/login?destination=node/18?uid=3&id=1
After the login's redirection, only uid is passed, but not id.
Comments
Comment #1
Nikdilis commentedcorrected the issue title
Comment #2
Nikdilis commentedok, to pass more than one parameter, "?","&","=" have to be encoded in ASCII characters:
http://www.w3schools.com/tags/ref_urlencode.asp
From:
login?destination=node/72?a=1&b=2
To:
login?destination=node%2F72%3Fa%3D1%26b%3D2
or
login?destination=node/72%3Fa%3D1%26b%3D2
"/" => %2F
"?" => %3F
"=" => %3D
"&" => %26
One problem still exists: See http://drupal.org/node/1751494
Assuming a site depends on query strings in order to show mysql-database results and a login block is placed on this site (node14):
i.e.: site?id=3
In case of an error on that login block the address changes from 'site?id=3' to 'site?destination=node/14%3Fid%3D3' and I'm unable to get the query strings and can't show database results.
However, the basic problem - passing parameters in login?destination- is solved, so I'm closing this issue.