ID: 12608
User updated by: [EMAIL PROTECTED]
Reported By: [EMAIL PROTECTED]
Status: Open
Bug Type: Variables related
Operating System: Debian potato GNU/Linux
PHP Version: 4.0.5
New Comment:
Thanks for the reply.
Sorry that the first post was confusing, I'll try explaining my situation more
thoroughly:
I have a site that generates dynamic content. I don't want long, not-user-friendly
urls of the form http://../project/read.php?objectid=33255section=2355;, so I've
written a custom 404 script that lets me do a
http://.../project/sectionname/objectname; in true Jakob Nielsen spirit.
So far so good, but say I want to append ?lang=en (or any get variable) to the url?
If I do, the 404 script doesn't see $HTTP_GET_VARS(it is empty), so I have to look at
$RQS ($REDIRECT_QUERY_STRING), as per the original note.
This isn't really a problem, I use parse_str() to break up $RQS, and all is well.
So why all the hassle, if all is well? Well, because contrary to what you say, I think
(but I may ofcoursly be wrong on this, it wouldn't be the first time :) that breaking
up the query string into HTTP_GET_VARS would be a right thing. If I understand the
whole 404 process correctly, there will never be a $QUERY_STRING (which normally is
what ends up in HTTP_GET_VARS and $argv, I presume) in a 404 script, but instead a
$REDIRECT_QUERY_STRING. If this is correct, using $REDIRECT_QUERY_STRING in the same
manner as $QUERY_STRING is ok, because both cannot be set at the same time.
Please correct me if I'm wrong.
Previous Comments:
[2001-08-07 09:38:53] [EMAIL PROTECTED]
Thanks for the reply.
Sorry that the first post was confusing, I'll try explaining my situation more
thoroughly:
I have a site that generates dynamic content. I don't want long, not-user-friendly
urls of the form http://../project/read.php?objectid=33255section=2355;, so I've
written a custom 404 script that lets me do a
http://.../project/sectionname/objectname; in true Jakob Nielsen spirit.
So far so good, but say I want to append ?lang=en (or any get variable) to the url?
If I do, the 404 script doesn't see $HTTP_GET_VARS(it is empty), so I have to look at
$RQS ($REDIRECT_QUERY_STRING), as per the original note.
This isn't really a problem, I use parse_str() to break up $RQS, and all is well.
So why all the hassle, if all is well? Well, because contrary to what you say, I think
(but I may ofcoursly be wrong on this, it wouldn't be the first time :) that breaking
up the query string into HTTP_GET_VARS would be a right thing. If I understand the
whole 404 process correctly, there will never be a $QUERY_STRING (which normally is
what ends up in HTTP_GET_VARS and $argv, I presume) in a 404 script, but instead a
$REDIRECT_QUERY_STRING. If this is correct, using $REDIRECT_QUERY_STRING in the same
manner as $QUERY_STRING is ok, because both cannot be set at the same time.
Please correct me if I'm wrong.
[2001-08-07 08:40:42] [EMAIL PROTECTED]
I don't know if I read this right, because it was a bit confusing,
but I'll take a shot.
$HTTP_GET_VARS parses the query string for the current page...
I can't think of a good example right now, but it could mess things
up if REDIRECT_QUERY_STRING broke up into HTTP_GET_VARS.
If you wanted to do something like that try a script like the following...
[not tested]
?
$splitby=split(,$HTTP_SERVER_VARS[REDIRECT_QUERY_STRING]);
for ($i=0;$icount($splitby);$i++){
$splitfurther=split(=,$splitby[$i]);
$$splitfurther[0]=$splitfurther=[1];
}
This should put the REDIRECT_QUERY_STRING into variables,
like if the redirect query string was foo=bar, then your script should
parse it so that $foo=bar;
Does this help?
[2001-08-06 18:57:51] [EMAIL PROTECTED]
The summary field really says it all:
Upon writing a customized 404 script, I stumbled upon the fact that the
$HTTP_SERVER_VARS[REDIRECT_QUERY_STRING] didn't break up into $HTTP_GET_VARS, even
though one would expect it to.
Is there a reason to this? I tried going through the bug database and the email
archives, but I didn't seem to find anything similar. My apologies if this still is a
second bug report, or if there's some perfectly valid explanation given somewhere.
Thanks for a great tool, by the way.
Edit this bug report at http://bugs.php.net/?id=12608edit=1
--
PHP Development Mailing List http://www.php.net/
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]