Probleem met &-teken in HREF Topic is solved

Nederlandse ondersteuning voor CMS Made Simple

Moderator: velden

Post Reply
Art-art

Probleem met &-teken in HREF

Post by Art-art »

Hallo,

Ik loop tegen een taai probleem aan bij het maken van linkjes op basis van waarden in een MySQL-tabel.
Ik heb een User Defined Tag gemaakt die er als volgt uit ziet:

Code: Select all

//User Defined Tag: CountryCarrierList

require ('connection.php');

$linkcountry= mysql_connect($host,$user,$password, true)
	or die ("couldn't connect to server");
  
$db = mysql_select_db($database,$linkcountry)
	or die ("Couldn't select database");

$query = "SELECT * FROM tbl_carrier LEFT JOIN tbl_country
	ON carr_country_iso3=coun_iso3
	ORDER BY coun_printname, carr_name"; 

$result = mysql_query($query)
	or die ("Couldn't execute query.");

	while ($row = mysql_fetch_array($result))
	{
		echo "<ul>";
			extract($row);
			echo "
				<li>
					<a href='index.php?
						page=factbook&
						countrychoice=$carr_country_iso3&
						carrierchoice=$carr_name'>
					<strong>$coun_printname</strong>, $carr_name	</a>
				</li>";
		echo "</ul>";
	}

mysql_close($linkcountry);
Het probleem zit 'm in het stukje .

Mijn probleem komt in de variabele $carr_name.
Een van de waarden bevat een naam met daarin een &-teken (dat zou bijvoorbeeld V&D kunnen zijn).
Hierdoor ziet de link er als volgt uit:

http://mijnwebsite.nl/index.php?page=fa ... choice=V&D

Dankzij het &-teken in de waarde V&D werkt de link niet.

Een oplossing zou het gebruik van een extra variabele in de tabel kunnen zijn.
Deze variabele zou dan elk record behalve de eigen naam (in dit voorbeeld V&D) ook een gecodeerde naam (in dit voorbeeld VenD) kunnen geven waarop geselecteerd kan worden.
Dit lijkt me erg omslachtig.

Is er een manier om te zorgen dat het &-teken wel gebruikt kan worden?

PS  Ik heb ook al geprobeerd de waarde in te voeren als V&ampD, maar dat werkt ook niet.
Last edited by Art-art on Thu Jun 05, 2008 4:41 am, edited 1 time in total.
rj
Forum Members
Forum Members
Posts: 70
Joined: Fri Aug 10, 2007 4:58 am

Re: Probleem met &-teken in HREF

Post by rj »

De juiste html-code voor een ampersand is & (met een punt-komma)

V&D

misschien lukt het zo wel.

Richard
Jos
Support Guru
Support Guru
Posts: 4019
Joined: Wed Sep 05, 2007 8:03 pm
Location: The Netherlands

Re: Probleem met &-teken in HREF

Post by Jos »

Je hebt niet alleen met het &-teken problemen, maar eigenlijk met alle tekens die niet in een url zijn toegestaan.

Gebruik  daarom de php-fuctie urlencode() om dit probleem compleet uit de wereld te helpen, als volgt:

echo "";

Let erop dat de variabelen, nu ingecapseld door de functie urlencode, buiten de quotes zijn gezet.

Hopelijk helpt dit je voort...
rvdv
Forum Members
Forum Members
Posts: 62
Joined: Wed Oct 31, 2007 2:16 pm

Re: Probleem met &-teken in HREF

Post by rvdv »

Het zou beter zijn om dit soort tekens gewoon om te zetten naar een - zoals in CMSMS zelf ook gedaan wordt bij de alias van een pagina.
Post Reply

Return to “Dutch - Nederlands”