The variable ‘ $return10 ‘ (for example) is a url, and I need to append ‘ &var2=example ‘ to the end. Like this:
header( "Location: $return10&var2=example" );
header ("Content-Length: 0");
exit;
The challenge is not knowing if the url contained in ‘ $return10 ‘ will already have a query string.
Choice A) If I use ‘ &var2=example ‘ , then sometimes the final url will be ‘ ://example.com&var2=example ‘ , with no ‘?’ to start the query string.
Choice B) If I use ‘ ?var2=example ‘ , then sometimes the final url will contain two “?”‘s starting two different query strings??
Is there a third choice? How would you cover both possibilities using “the correct code?” Thank you.
Create a function that will append your query code if there is one… And add it if there isn’t…
This will work regardless of if your query has a fragment or not.
EDIT: Fixed for relative scheme URL.
If your PHP does not have
http_build_url()available (ie.: PECL extension not installed), here is a pure PHP version of it which does not require the extension.