Re: passing an array in a link

From: Date: Sun, 11 Aug 2002 11:20:45 +0000
Subject: Re: passing an array in a link
References: 1 2  Groups: php.general 
Request: Send a blank email to php-general+get-112007@lists.php.net to get a copy of this message
Bas, et al -- ..and then Bas Jobsen said... % % print "<a href=\"/myscript.php?keylist=".str_replace(" % ","+",implode("+",$keylist))."\">link</a>" ; I tried this and my link the looks like Click <a href="testme.php?a+b b b+c">here</a> to go round again<br> (that is, not only have I not taken care of the spaces but I now also lose the fact that these are part of $keylist). The entire little script is attached. You can see various means of printing the array. I *have* found that I can construct a link like testme.php?keylist[]=a&keylist[]=b& ... so that takes care of walking the array but now I need to protect myself from the spaces. I've looked at htmlentities() but it doesn't seem to convert spaces... Thanks again & HAND :-D -- David T-G * It's easier to fight for one's principles (play) davidtg@justpickone.org * than to live up to them. -- fortune cookie (work) davidtgwork@justpickone.org http://www.justpickone.org/davidtg/ Shpx gur Pbzzhavpngvbaf Qrprapl Npg!

<html> <head> <title> Test page </title> </head> <body> <?php if ( ! $keylist ) { print "No \$keylist; starting from scratch<br>\n" ; # $keylist = array('a','b','c') ; # works (of course) # $keylist = array('a','b%20b%20b','c') ; # works; is 'b b b' on 2nd pass $keylist = array('a','b b b','c') ; # doesn't work; spaces are bad print "\$keylist is $keylist<br>\n" ; foreach ($keylist as $k) { print "\$k is .$k.<br>\n" ; } # print "Click <a href=\"/testme.php?keylist=$keylist\">here</a> to go round again<br>\n" ; print "Click <a href=\"testme.php?" ; # foreach ( $keylist as $k ) { print "keylist[]=$k&" ; } print str_replace("","+",implode("+",$keylist)) ; print "\">here</a> to go round again<br>\n" ; } else { print "I have a \$keylist. It is .$keylist.<br>\n" ; foreach ( $keylist as $k ) { print "\$k is .$k.<br>\n" ; } } print "<br>\n<br>\n" ; ?> </body> </html>
« previous php.general (#112007) next »