URL stopt na gebruik van ' in url

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Robert-Jan De Vries

Robert-Jan De Vries

18/09/2012 15:03:45
Quote Anchor link
Ik heb een probleem op een wordpress site van mij, vreemd genoeg heb ik op een vrijwel identieke website dit probleem niet.

Wanneer ik een rij met url's heb en ik bezoek die pagina dan stoppen de url's na dat in de url het teken ' voorkomt. Op de andere website loopt de url netjes door en werkt hij gewoon.

http://www.website.com/F=123456&reurl='pagina.html'

Dit is een voorbeeld van de url. Op de pagina stopt hij nu na reurl= en op de andere website loopt hij wel gewoon door.

Waar zit dit probleem hem in? Ik heb al geprobeerd hier informatie over te vinden, helaas niet gelukt.

Zelfde versie Wordpress en zelfde theme.
Gewijzigd op 18/09/2012 15:09:05 door Robert-Jan De Vries
 
PHP hulp

PHP hulp

05/01/2025 00:16:18
 
Stefan WM

Stefan WM

18/09/2012 15:16:48
Quote Anchor link
Het is niet echt gebruikelijk een ' in een url te gebruiken, dit moet je ook niet willen.
Misschien kan je beter naar een oplossing zoeken om de ' er uit te filteren dan om hem wel te kunnen gebruiken.

Hier is dat ook het geval.
De url is:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
http://www.phphulp.nl/php/forum/topic/url-stopt-na-gebruik-van-in-url/86690/last/


geen ' te vinden terwijl jou titel van het topic is:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
URL stopt na gebruik van ' in url wijzigen


Succes!
Gewijzigd op 18/09/2012 15:18:04 door Stefan WM
 
Robert-Jan De Vries

Robert-Jan De Vries

18/09/2012 15:33:58
Quote Anchor link
Ik kan de ' wel vervangen met %27 en dan geeft hij hem weer en kom ik ook op de externe pagina terecht. Het zin url's welke ik krijg aangelerd via een affiliate partij. Er zit dus tracking in naar mij.

Om eerlijk te zijn weet ik geen andere oplossing dan %27 te gebruiken.

Volgens mij is de ' functioneel
Gewijzigd op 18/09/2012 15:35:15 door Robert-Jan De Vries
 
Stefan WM

Stefan WM

18/09/2012 16:17:06
Quote Anchor link
Misschien moet je het probleem bij de affiliate partij aankaarten? Het is namelijk niet gebruikelijk een ' te gebruiken.
 
Kris Peeters

Kris Peeters

18/09/2012 16:30:21
Quote Anchor link
Binnen een url heeft het totaal geen zin om waarden in aanhalingstekens te wrappen

bv. ...&reurl='pagina.html'

De redenering die je moet maken is de volgende:
In de url zijn er vier actieve karakters waar je op moet letten: ? = & #
(Maar ook andere tekens kunnen gevolgen hebben)
Tussen die karakters door heb je dus de key en de values die de $_GET-variabelen bemannen.
Je moet uiteraard vermijden dat 1 van de vier (bovengenoemde) karakters zelf voorkomen in een value.

bv. stel, je wil categorie 'sport&cultuur'
Je snapt dat de url die & zal zien als een teken om aan de volgende variabele te beginnen.

index.php?categorie=sport&cultuur
komt overeen met
$_GET['categorie'] = 'sport';
en
$_GET['cultuur'] = '';

Om dus toch een speciaal teken in de value te zetten, haal je de waarde door urlencode() .

Bekijk dit klein voorbeeld als illustratie.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
$url
= 'index.php?categorie=' . urlencode('sport&cultuur');
echo '<a href="' . $url . '">klik</a><br>';
if (!empty($_GET['categorie'])) {
  echo '$_GET["categorie"] geeft de waarde: ' . $_GET['categorie'];
}

?>


Die urlencode versie van het karakter kan je in de url-balk zien. De waarde is echter zomaar beschikbaar als $_GET-variabele.

Eventueel kan je urldecode($_GET['categorie']) nodig om de waarde terug te hebben.
Gewijzigd op 18/09/2012 16:33:56 door Kris Peeters
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.