On Wed, 23 Feb 2005 01:10:07 +0100, Timo Jattu wrote:
> Hej jeg har problemet at der skal være flere variable i mit link..
>
> intro.php?a=tester og når man så klikker på et link sendes yderligere en
> variabel med således at man ender op med
>
> intro.php?a=tester&b=blabla&c=nogetandet osv. jeg skal såldeds konstruere et
> link som ser således ud..
>
> intro.php?(Php-variabler fra sidste link)&c=nogetandet
>
> Er der nogle af jer der lige ved hvad man skal skrive for at få de gamle
> variable med ?
Jeg har lavet mig følgende funktion:
function createURL()
{
$args = func_get_args();
if ( count($args) == 0 )
{
trigger_error('createURL expects 1 or more arguments but none given', E_USER_ERROR);
}
$url = $args[0];
$parsed = parse_url($url);
$query = array();
foreach (explode('&', $parsed['query']) as $component)
{
$query[strtok($component, '=')] = $component;
}
for ($i = 1; $i < count($args); $i++)
{
$query[strtok($args[$i], '=')] = $args[$i];
}
return $parsed['scheme'].'://'.$parsed['host'].$parsed['path'].'?'.
implode('&',$query);
}
Kald den med en URL og et antal variabel+værdi, så returnerer den den
nye URL. F.eks.:
$url = '
http://server.dk/?prut=dufter';
$url = createURL($url, 'vand=vådt', 'prut=lugter')
bliver til
http://server.dk/?prut=lugter&vand=vådt
Bemærk at den URL som gives til funktionen skal have variable adskilt af
'&', mens den URL der returneres adskiller variable med '&' (det er et
krav i XHTML, som er det, jeg leger med til daglig).
--
Mvh.
/Thomas