You have to check for it, regardless. See if this works for you.
$url = $_SERVER['REQUEST_URI'] . '?' . ((isset($_SERVER['QUERY_STRING'])) ?
$_SERVER['QUERY_STRING'] . '&' : '' ) . 'newVar=1';
The middle part basically sees if the QUERY_STRING is empty. If it is, it
includes a question mark otherwise it includes an apersand. Actually, to be
fully compliant, replace the & with & in your URLs.
$url = $_SERVER['REQUEST_URI'] . '?' . ((isset($_SERVER['QUERY_STRING'])) ?
$_SERVER['QUERY_STRING'] . '&' : '' ) . 'newVar=1';
It'll work, trust me. :)
---John Holmes...
----- Original Message -----
From: "Matt Grimm" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Wednesday, May 28, 2003 4:12 PM
Subject: [PHP] Appending to the REQUEST_URI
Let's say I have a table with links in the headers for sorting each column.
I want to carry the sort variable along in the $_GET array, and I need to be
able to pass other variables to this same page, also using the GET method.
My trouble is when I need to append a new variable to the REQUEST_URI -- I
need to detect whether a QUERY_STRING has already been passed, so I won't
use "?" when I need "&" in the URI. Here's my clunky attempt:
<a href="<?php
echo $_SERVER['REQUEST_URI'];
if ($_SERVER['QUERY_STRING'] && !$_GET['newVar']) {
echo "&newVar=1";
}
else if (!$_SERVER['QUERY_STRING']) {
echo "?newVar=1";
}
?>
">link description text</a>
Please tell me there is some way to just append to the query string without
checking it first...
--
Matt Grimm
Web Developer
The Health TV Channel, Inc.
(a non - profit organization)
3820 Lake Otis Parkway
Anchorage, AK 99508
907.770.6200 ext. 686
907.336.6205 (fax)
E-mail: [EMAIL PROTECTED]
Web: www.healthtvchannel.org
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php