PHP $_GEt-variabelen validatie
Sven
08/03/2008 21:36:00Hallo,
even een kort vraagje, waar het antwoord misschien wel heel simpel op is:
hoe kan ik een webpagina correct XHTML 1.0 transitional valideren, met dingen als <a href="pagina.php?a=1&b=2"></a>?
Het gaat dan om het '&' teken, wat door de validator gezien wordt als het begin van een ding.
Wie o wie weet het antwoord?
even een kort vraagje, waar het antwoord misschien wel heel simpel op is:
hoe kan ik een webpagina correct XHTML 1.0 transitional valideren, met dingen als <a href="pagina.php?a=1&b=2"></a>?
Het gaat dan om het '&' teken, wat door de validator gezien wordt als het begin van een ding.
Wie o wie weet het antwoord?
PHP hulp
26/12/2024 18:19:50Bo az
08/03/2008 21:38:00Jesper Diovo
08/03/2008 21:38:00Sven
08/03/2008 21:40:00Terence Hersbach
08/03/2008 23:30:00tip, haal htmlentities over elke link in je pagina heen, heb je dat probleem ook niet en kan je & gewoon gebruiken.
Frank -
08/03/2008 23:33:00Jelmer -
09/03/2008 09:45:00Frank, volgens mij is urlencode voor de waarden die je in je link stopt (zodat je ook &-tekens kan meesturen) en htmlentities voor over de hele link, zodat alle &-tekens worden omgezet in & zodat ze weer geldige HTML zijn.
Trouwens, je hoeft geen urldecode over get-waarden te halen om ze terug te krijgen. Dat doet PHP zelf al. Bij $_GET['c'] zal je waarschijnlijk wel utf8_decode erover moeten halen.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
<?php
$b = '!@#$%^&*()_+';
$c = '~éüîøoπµ~∫√ç≈≈≈Ω';
htmlentities('a.php?b=' . urlencode($b) . '&c=' . urlencode($c));
levert veel zooi, zoals "a.php?
b=%21%40%23%24%25%5E%26%2A%28%29_%2B&c=%7E%C3%A9%
C3%BC%C3%AE%C3%B8o%CF%80%C2%B5%7E%E2%88%AB%E2%88%9A%
C3%A7%E2%89%88%E2%89%88%E2%89%88%CE%A9" op :)
?>
$b = '!@#$%^&*()_+';
$c = '~éüîøoπµ~∫√ç≈≈≈Ω';
htmlentities('a.php?b=' . urlencode($b) . '&c=' . urlencode($c));
levert veel zooi, zoals "a.php?
b=%21%40%23%24%25%5E%26%2A%28%29_%2B&c=%7E%C3%A9%
C3%BC%C3%AE%C3%B8o%CF%80%C2%B5%7E%E2%88%AB%E2%88%9A%
C3%A7%E2%89%88%E2%89%88%E2%89%88%CE%A9" op :)
?>
Trouwens, je hoeft geen urldecode over get-waarden te halen om ze terug te krijgen. Dat doet PHP zelf al. Bij $_GET['c'] zal je waarschijnlijk wel utf8_decode erover moeten halen.