Als ik data = route gebruik (in Ajax-call) dan krijg ik de error.
Als ik JSON.stringify doe kan ik $_POST['data'] wel lezen, maar als een string. Het lukt mij niet om hem terug als Array te krijgen. JSON_decode() geeft niets als resultaat.
En als je in PHP een string hebt, kun je deze heel eenvouding omzetten naar een array met parse_str().
Let wel op:
- mogelijke character encodings, weet niet of dit goed gaat met exotische karakters
- magic_quotes_gpc, mogelijk moet je slashes strippen als dit aanstaat
- elementen die meerdere waarden kunnen selecteren, zoals bijvoorbeeld multiple selects, de namen van deze elementen moeten array-haken bevatten, anders blijft in je string enkel het laatst geselecteerde element over
string(367642) "\"font-size:0.9em\">Ga rechtdoor over één rotonde</div>","start_point":{"d":50.0065628,"e":3.01877479999996},"end_point":{"d":50.068929,"e":3.1653433000000177}},{"distance":{"text":"0,4 km","value":410},"duration":{"text":"1 min.","value":28},"end_location":{"d":50.068501,"e":3.170751600000017
Helaas is het dus gedaan bij de \.. (string(367642) "\"font-size:0.9em\"). Dan wordt het weer een string. Even geprobeerd om ze te strippen, maar het lukt me niet..
Uhm, waar krijg je deze data vandaan? Ik zie daar Google staan? Is dit een service van Google? Zoja, dan werk je via een API, en in de API staat toch wel gespecificeerd wat voor data je (terug)krijgt, en hoe je hier mee om kunt/moet gaan?
Het ziet er uit als een mengelmoes van JSON en geserialiseerde data?
Ik maak gebruik van de maps API van google. Daar krijg ik altijd JSON terug in javascript. Dit gaat perfect, en kan er mee werken om alles in javascript te behandelen.
Nu wil ik echter nog een .PDF aanmaken via PHP. Maar daarvoor heb ik die array/JSON nodig. En ik wil dus die array uit javascript doorgeven naar PHP via Ajax.
Welke API calls gebruik je, van wat voor type is het resultaat, mogelijk kun je via JavaScript / de API nog e.e.a. omschrijven voordat je dit aan PHP doorgeeft?
Zou je eens een dump vanuit JavaScript kunnen doen (dus voordat je dit aan PHP doorstuurt), of anders aan kunnen geven welke API calls je doet om de informatie op te halen die je vervolgens doorgeeft aan PHP?
Misschien helpt het ook als je bij je AJAX POST aangeeft wat voor contentType (wat je naar de server stuurt, dus niet dataType (wat je van de server terug verwacht)) het betreft. Dit zou dan afgestemd moeten worden op wat je terugkrijgt van je API, in combinatie met eigen bewerkingen die je nog uitvoert voordat je het POST.
Ik communiceer in JSON met de Google Maps API DirectionService en krijg response terug. Dit wordt dan omgezet naar een javascript object..
Nu is die response zeer uitgebreidt. Normaal is het voldoende dat ik met de GET werk, maar nu moet ik dus met POST werken..
Ik stuur het javascript-object nu door in JSON via POST, JSON.stringify.. Maar in PHP wil ik die JSON string omzetten opnieuw naar een Array in PHP.. Het probleem bij de oplossing die ik kreeg van jou, FangorN, is dat ik er niet in slaag om die \ te escapen. Daar stopt het dus steeds en wordt de rest aanzien als string. Als dit zou lukken is mijn probleem opgelost.
Maar ik merk net, door nog even te zoeken in die API dat ik waarschjnlijk de info die ik nodig heb op een andere manier kan uithalen.
Ik wil namelijk de info van dit infopanel: https://develop...anel?hl=nl in een PDF schrijven (met nog extra informatie uiteraard). Misschien is het gemakkelijker om daar alles uit te halen met JQUERY en enkel dit door te sturen naar PHP en op die manier een PDF maken..
EDIT: Ik zal een dump van javascript helaas pas morgen hier kunnen plaatsen..
EDIT 2: Of ik overloop ze eigenlijk gewoon in JS.. Het zal dan al veel overzichtelijker binnenkomen in PHP en veel data sparen..
function showSteps(directionResult) {
// For each step, place a marker, and add the text to the marker's
// info window. Also attach the marker to an array so we
// can keep track of it and remove it when calculating new
// routes.
var myRoute = directionResult.routes[0].legs[0];
for (var i = 0; i < myRoute.steps.length; i++) {
var marker = new google.maps.Marker({
position: myRoute.steps[i].start_location,
map: map
});
attachInstructionText(marker, myRoute.steps[i].instructions);
markerArray[i] = marker;
}
}
function showSteps(directionResult){
// For each step, place a marker, and add the text to the marker's
// info window. Also attach the marker to an array so we
// can keep track of it and remove it when calculating new
Thomas - 12/03/2014 13:12 (laatste wijziging 12/03/2014 13:12)
Moderator
In je oorspronkelijke post zit ook geen HTML-openingstag (ik zie geen <div... ?), hoe dump jij data in PHP, ik neem aan dat je je output escaped? Anders wordt het nogal lastig om chocola te maken van hetgeen je retour krijgt.
Hiervan heb ik de legs nodig. Maar in bepaalde waarden die ik dus krijg van Google Maps zitten html tags, geescapede slashes,... Hierdoor krijg ik ze dus niet in een array.
Ik stuur dus dat object door naar PHP. Dit krijg ik binnen: http://www.heypasteit.com/clip/17Y7
Dit is dus 1 lange string.. Dit moet ik terug omzetten naar een array in PHP..
LEG: 0
6 (regel 215)
Vertrek in <b>noordelijke</b> richting op de <b>D43</b> naar <b>Rue d'en Bas</b>
6 (regel 219)
Sla <b>rechtsaf</b> naar de <b>D72</b>
6 (regel 219)
Sla <b>linksaf</b> naar de <b>D917</b><div style="font-size:0.9em">Ga rechtdoor over één rotonde</div>
6 (regel 219)
Flauwe bocht naar <b>rechts</b> richting <b>Chemin de Bonavis</b><div style="font-size:0.9em">Tolweg</div>
6 (regel 219)
Ga rechtdoor op <b>Chemin de Bonavis</b><div style="font-size:0.9em">Tolweg</div>
6 (regel 219)
Houd <b>links</b> aan bij de splitsing, volg de borden voor <b>A26/E17/Saint-Quentin/Reims</b> en voeg in op <b>A26/E17</b><div style="font-size:0.9em">Tolweg</div>
6 (regel 219)
Neem de afslag op <b>A2/E19</b> richting <b>Cambrai/Valenciennes/Bruxelles</b><div style="font-size:0.9em">Gedeeltelijke tolweg</div><div style="font-size:0.9em">U gaat België binnen</div>
6 (regel 219)
Weg vervolgen naar <b>E19</b>
6 (regel 219)
Neem afslag <b>25-Tertre</b> richting <b>Hornu</b>
6 (regel 219)
Voeg in op <b>N547</b>
6 (regel 219)
Weg vervolgen naar <b>Rue de la Fontaine</b>
6 (regel 219)
Sla <b>linksaf</b> naar de <b>Rue de Valenciennes/N51</b><div style="font-size:0.9em">Ga verder op de N51</div>
6 (regel 219)
Sla <b>rechtsaf</b> naar de <b>Rue Sainte-Louise</b>
6 (regel 219)
Sla <b>linksaf</b> om op de <b>Rue Sainte-Louise</b> te blijven<div style="font-size:0.9em">U vindt uw bestemming links</div>
6 (regel 219)
LEG: 1
6 (regel 215)
Vertrek in <b>westelijke</b> richting op de <b>Rue Sainte-Louise</b>
6 (regel 219)
Neem de 1e afslag <b>rechts</b> om op <b>Rue Sainte-Louise</b> te blijven
6 (regel 219)
Sla <b>linksaf</b> naar de <b>Rue de Mons/N51</b>
6 (regel 219)
Sla <b>rechtsaf</b> naar de <b>Rue Traversière/N547</b><div style="font-size:0.9em">Ga verder op de N547</div>
6 (regel 219)
Voeg in op de <b>E19/E42</b> via de oprit richting <b>Bruxelles/Mons</b>
6 (regel 219)
Houd <b>rechts</b> aan, rij door op <b>E42</b> en volg de borden <b>Liège/La Louvière/Charleroi Aéroport</b>
6 (regel 219)
Neem afslag <b>19-Manage</b> richting <b>N27</b>
6 (regel 219)
Houd <b>links</b> aan bij de splitsing en volg de borden voor <b>Manage/Nivelles</b>
6 (regel 219)
Sla <b>linksaf</b> naar de <b>Chaussée de Mons/N27</b><div style="font-size:0.9em">Ga verder op de N27</div><div style="font-size:0.9em">Ga rechtdoor over één rotonde</div>
6 (regel 219)
Sla <b>rechtsaf</b> naar de <b>Rue Lintermans</b>
6 (regel 219)
Weg vervolgen naar <b>Rue de l'Yser</b>
6 (regel 219)
Weg vervolgen naar <b>Rue de Courcelles</b>
6 (regel 219)
Sla <b>rechtsaf</b> om op de <b>Rue de Courcelles</b> te blijven
6 (regel 219)
Houd <b>rechts</b> aan en blijf op <b>Rue de Courcelles</b>
6 (regel 219)
Weg vervolgen naar <b>Rue de la Bête Refaite</b>
6 (regel 219)
LEG: 2
6 (regel 215)
Vertrek in <b>noordelijke</b> richting op de <b>Rue de la Bête Refaite</b> naar <b>Rue du Rossignol</b>
6 (regel 219)
Neem de 2e afslag <b>rechts</b>, <b>Rue de Courcelles</b> op
6 (regel 219)
Weg vervolgen naar <b>Rue des Culots</b><div style="font-size:0.9em">Ga rechtdoor over één rotonde</div>
6 (regel 219)
Weg vervolgen naar <b>Rue du Castia</b>
6 (regel 219)
Weg vervolgen naar <b>Rue des Culots</b>
6 (regel 219)
Weg vervolgen naar <b>Rue Ferrer</b>
6 (regel 219)
Sla <b>rechtsaf</b> naar de <b>Rue Picteur</b>
6 (regel 219)
Neem op de rotonde de <b>3e</b> afslag de oprit naar <b>E42</b> op richting <b>Tournai/Mons</b>
6 (regel 219)
Voeg in op <b>E42</b>
6 (regel 219)
Voeg in op <b>E19/E42</b>
6 (regel 219)
Houd <b>rechts</b> aan, rij door op <b>E42</b> en volg de borden <b>Lille/Tournai</b>
6 (regel 219)
Houd <b>rechts</b> aan bij het knooppunt <b>Marquain</b> en volg de borden <b>E403/A17</b> richting <b>Gand/Bruges/Mouscron/Roubaix</b>
6 (regel 219)
Houd <b>rechts</b> aan bij de splitsing, volg de borden voor <b>E403</b> en voeg in op <b>A17/E403</b>
6 (regel 219)
Neem afslag <b>9-Lichtervelde</b> naar <b>N35</b> richting <b>Diksmuide/Koolskamp</b>
6 (regel 219)
Sla <b>linksaf</b> naar de <b>Koolskampstraat/N35</b><div style="font-size:0.9em">Ga verder op de N35</div><div style="font-size:0.9em">Ga rechtdoor over één rotonde</div>
6 (regel 219)
Sla <b>rechtsaf</b> naar de <b>Lichterveldestraat</b>
6 (regel 219)
Neem op de rotonde de <b>1ste</b> afslag naar <b>Torhoutstraat</b>
6 (regel 219)
Sla <b>linksaf</b> naar de <b>Processiestraat</b>
6 (regel 219)
Weg vervolgen naar <b>Ichtegemstraat</b>
6 (regel 219)
Sla <b>linksaf</b> naar de <b>Koekelarestraat</b>
6 (regel 219)
LEG: 3
6 (regel 215)
Vertrek in <b>zuidoostelijke</b> richting op de <b>Koekelarestraat</b> naar <b>Pastoor d. Vanhautestraat</b>
6 (regel 219)
Sla <b>rechtsaf</b> naar de <b>Ichtegemstraat</b>
6 (regel 219)
Weg vervolgen naar <b>Processiestraat</b>
6 (regel 219)
Sla <b>rechtsaf</b> naar de <b>Torhoutstraat</b>
6 (regel 219)
Neem op de rotonde de <b>2e</b> afslag naar <b>Lichterveldestraat</b>
6 (regel 219)
Sla <b>linksaf</b> naar de <b>Staatsbaan/N35</b><div style="font-size:0.9em">Ga verder op de N35</div><div style="font-size:0.9em">Ga rechtdoor over één rotonde</div>
6 (regel 219)
Sla <b>rechtsaf</b> de oprit op naar <b>Doornik/Kortrijk/Roeselare/Brussel</b>
6 (regel 219)
Voeg in op <b>E403</b>
6 (regel 219)
Houd <b>rechts</b> aan bij het knooppunt <b>Aalbeke</b> en volg de borden <b>E17</b> richting <b>Rijsel/Moeskroen/Lille</b><div style="font-size:0.9em">U gaat Frankrijk binnen</div>
6 (regel 219)
Weg vervolgen naar <b>A22/E17</b>
6 (regel 219)
Neem afslag <b>11</b> <b>links</b> richting <b>E17/Lille</b>
6 (regel 219)
Voeg in op <b>N356</b>
6 (regel 219)
Neem de afslag op <b>A1/E42</b> richting <b>Paris/Bruxelles/Valenciennes/Villeneuve d'Ascq/Aéroport Lesquin</b>
6 (regel 219)
Houd <b>links</b> aan, rij door op <b>A1</b> en volg de borden <b>E17/Paris/Reims/Aéroport Lille Lesquin</b><div style="font-size:0.9em">Gedeeltelijke tolweg</div>
6 (regel 219)
Neem afslag <b>14</b> richting <b>Bapaume/Albert</b><div style="font-size:0.9em">Tolweg</div>
6 (regel 219)
Neem op de rotonde de <b>5e</b> afslag naar <b>D917</b>
6 (regel 219)
Sla <b>linksaf</b> naar de <b>Av. Abel Guidet/D917</b><div style="font-size:0.9em">Ga verder op de D917</div>
6 (regel 219)
Sla <b>linksaf</b> naar de <b>D19</b>
6 (regel 219)
Sla <b>rechtsaf</b> om op de <b>D19</b> te blijven
6 (regel 219)
Flauwe bocht naar <b>rechts</b> naar de <b>D20</b>
6 (regel 219)
Weg vervolgen naar <b>D72</b>
6 (regel 219)
Sla <b>rechtsaf</b> om op de <b>D72</b> te blijven
6 (regel 219)
Sla <b>rechtsaf</b> naar de <b>D43</b>
6 (regel 219)
LEG:0
6(regel 215)
Vertrek in <b>noordelijke</b> richting op de <b>D43</b> naar <b>Rue d'en Bas</b>
6 (regel 219)
Sla <b>rechtsaf</b> naar de <b>D72</b>
6 (regel 219)
Sla <b>linksaf</b> naar de <b>D917</b><div style="font-size:0.9em">Ga rechtdoor over één rotonde</div>
6 (regel 219)
Flauwe bocht naar <b>rechts</b> richting <b>Chemin de Bonavis</b><div style="font-size:0.9em">Tolweg</div>
6 (regel 219)
Ga rechtdoor op <b>Chemin de Bonavis</b><div style="font-size:0.9em">Tolweg</div>
6 (regel 219)
Houd <b>links</b> aan bij de splitsing, volg de borden voor <b>A26/E17/Saint-Quentin/Reims</b> en voeg in op <b>A26/E17</b><div style="font-size:0.9em">Tolweg</div>
6 (regel 219)
Neem de afslag op <b>A2/E19</b> richting <b>Cambrai/Valenciennes/Bruxelles</b><div style="font-size:0.9em">Gedeeltelijke tolweg</div><div style="font-size:0.9em">U gaat België binnen</div>
6 (regel 219)
Weg vervolgen naar <b>E19</b>
6 (regel 219)
Neem afslag <b>25-Tertre</b> richting <b>Hornu</b>
6 (regel 219)
Voeg in op <b>N547</b>
6 (regel 219)
Weg vervolgen naar <b>Rue de la Fontaine</b>
6 (regel 219)
Sla <b>linksaf</b> naar de <b>Rue de Valenciennes/N51</b><div style="font-size:0.9em">Ga verder op de N51</div>
6 (regel 219)
Sla <b>rechtsaf</b> naar de <b>Rue Sainte-Louise</b>
6 (regel 219)
Sla <b>linksaf</b> om op de <b>Rue Sainte-Louise</b> te blijven<div style="font-size:0.9em">U vindt uw bestemming links</div>
6 (regel 219)
LEG: 1
6 (regel 215)
Vertrek in <b>westelijke</b> richting op de <b>Rue Sainte-Louise</b>
6 (regel 219)
Neem de 1e afslag <b>rechts</b> om op <b>Rue Sainte-Louise</b> te blijven
6 (regel 219)
Sla <b>linksaf</b> naar de <b>Rue de Mons/N51</b>
6 (regel 219)
Sla <b>rechtsaf</b> naar de <b>Rue Traversière/N547</b><div style="font-size:0.9em">Ga verder op de N547</div>
6 (regel 219)
Voeg in op de <b>E19/E42</b> via de oprit richting <b>Bruxelles/Mons</b>
6 (regel 219)
Houd <b>rechts</b> aan, rij door op <b>E42</b> en volg de borden <b>Liège/La Louvière/Charleroi Aéroport</b>
6 (regel 219)
Neem afslag <b>19-Manage</b> richting <b>N27</b>
6 (regel 219)
Houd <b>links</b> aan bij de splitsing en volg de borden voor <b>Manage/Nivelles</b>
6 (regel 219)
Sla <b>linksaf</b> naar de <b>Chaussée de Mons/N27</b><div style="font-size:0.9em">Ga verder op de N27</div><div style="font-size:0.9em">Ga rechtdoor over één rotonde</div>
6 (regel 219)
Sla <b>rechtsaf</b> naar de <b>Rue Lintermans</b>
6 (regel 219)
Weg vervolgen naar <b>Rue de l'Yser</b>
6(regel 219)
Weg vervolgen naar <b>Rue de Courcelles</b>
6(regel 219)
Sla <b>rechtsaf</b> om op de <b>Rue de Courcelles</b> te blijven
6(regel 219)
Houd <b>rechts</b> aan en blijf op <b>Rue de Courcelles</b>
6(regel 219)
Weg vervolgen naar <b>Rue de la Bête Refaite</b>
6(regel 219)
LEG:2
6(regel 215)
Vertrek in <b>noordelijke</b> richting op de <b>Rue de la Bête Refaite</b> naar <b>Rue du Rossignol</b>
6(regel 219)
Neem de 2e afslag <b>rechts</b>,<b>Rue de Courcelles</b> op
6(regel 219)
Weg vervolgen naar <b>Rue des Culots</b><div style="font-size:0.9em">Ga rechtdoor over één rotonde</div>
6(regel 219)
Weg vervolgen naar <b>Rue du Castia</b>
6(regel 219)
Weg vervolgen naar <b>Rue des Culots</b>
6(regel 219)
Weg vervolgen naar <b>Rue Ferrer</b>
6(regel 219)
Sla <b>rechtsaf</b> naar de <b>Rue Picteur</b>
6(regel 219)
Neem op de rotonde de <b>3e</b> afslag de oprit naar <b>E42</b> op richting <b>Tournai/Mons</b>
6(regel 219)
Voeg in op <b>E42</b>
6(regel 219)
Voeg in op <b>E19/E42</b>
6(regel 219)
Houd <b>rechts</b> aan, rij door op <b>E42</b> en volg de borden <b>Lille/Tournai</b>
6(regel 219)
Houd <b>rechts</b> aan bij het knooppunt <b>Marquain</b> en volg de borden <b>E403/A17</b> richting <b>Gand/Bruges/Mouscron/Roubaix</b>
6(regel 219)
Houd <b>rechts</b> aan bij de splitsing, volg de borden voor <b>E403</b> en voeg in op <b>A17/E403</b>
6(regel 219)
Neem afslag <b>9-Lichtervelde</b> naar <b>N35</b> richting <b>Diksmuide/Koolskamp</b>
6(regel 219)
Sla <b>linksaf</b> naar de <b>Koolskampstraat/N35</b><div style="font-size:0.9em">Ga verder op de N35</div><div style="font-size:0.9em">Ga rechtdoor over één rotonde</div>
6(regel 219)
Sla <b>rechtsaf</b> naar de <b>Lichterveldestraat</b>
6(regel 219)
Neem op de rotonde de <b>1ste</b> afslag naar <b>Torhoutstraat</b>
6(regel 219)
Sla <b>linksaf</b> naar de <b>Processiestraat</b>
6(regel 219)
Weg vervolgen naar <b>Ichtegemstraat</b>
6(regel 219)
Sla <b>linksaf</b> naar de <b>Koekelarestraat</b>
6(regel 219)
LEG:3
6(regel 215)
Vertrek in <b>zuidoostelijke</b> richting op de <b>Koekelarestraat</b> naar <b>Pastoor d. Vanhautestraat</b>
6(regel 219)
Sla <b>rechtsaf</b> naar de <b>Ichtegemstraat</b>
6(regel 219)
Weg vervolgen naar <b>Processiestraat</b>
6(regel 219)
Sla <b>rechtsaf</b> naar de <b>Torhoutstraat</b>
6(regel 219)
Neem op de rotonde de <b>2e</b> afslag naar <b>Lichterveldestraat</b>
6(regel 219)
Sla <b>linksaf</b> naar de <b>Staatsbaan/N35</b><div style="font-size:0.9em">Ga verder op de N35</div><div style="font-size:0.9em">Ga rechtdoor over één rotonde</div>
6(regel 219)
Sla <b>rechtsaf</b> de oprit op naar <b>Doornik/Kortrijk/Roeselare/Brussel</b>
6(regel 219)
Voeg in op <b>E403</b>
6(regel 219)
Houd <b>rechts</b> aan bij het knooppunt <b>Aalbeke</b> en volg de borden <b>E17</b> richting <b>Rijsel/Moeskroen/Lille</b><div style="font-size:0.9em">U gaat Frankrijk binnen</div>
6(regel 219)
Weg vervolgen naar <b>A22/E17</b>
6(regel 219)
Neem afslag <b>11</b><b>links</b> richting <b>E17/Lille</b>
6(regel 219)
Voeg in op <b>N356</b>
6(regel 219)
Neem de afslag op <b>A1/E42</b> richting <b>Paris/Bruxelles/Valenciennes/Villeneuve d'Ascq/Aéroport Lesquin</b>
6 (regel 219)
Houd <b>links</b> aan, rij door op <b>A1</b> en volg de borden <b>E17/Paris/Reims/Aéroport Lille Lesquin</b><div style="font-size:0.9em">Gedeeltelijke tolweg</div>
6 (regel 219)
Neem afslag <b>14</b> richting <b>Bapaume/Albert</b><div style="font-size:0.9em">Tolweg</div>
6 (regel 219)
Neem op de rotonde de <b>5e</b> afslag naar <b>D917</b>
6 (regel 219)
Sla <b>linksaf</b> naar de <b>Av. Abel Guidet/D917</b><div style="font-size:0.9em">Ga verder op de D917</div>
6 (regel 219)
Sla <b>linksaf</b> naar de <b>D19</b>
6 (regel 219)
Sla <b>rechtsaf</b> om op de <b>D19</b> te blijven
6 (regel 219)
Flauwe bocht naar <b>rechts</b> naar de <b>D20</b>
6 (regel 219)
Weg vervolgen naar <b>D72</b>
6 (regel 219)
Sla <b>rechtsaf</b> om op de <b>D72</b> te blijven
6 (regel 219)
Sla <b>rechtsaf</b> naar de <b>D43</b>
6 (regel 219)
Dit wil ik dus hebben, maar het lukt me niet in PHP, omdat ik het niet correct kan doorsturen veronderstel ik.
Thomas - 12/03/2014 19:27 (laatste wijziging 12/03/2014 19:28)
Moderator
Mogelijk bevat dit topic de oplossing. Je moet zowel je JSON data stringify-en en ook het contentType aangeven. Default is dit "application/x-www-form-urlencoded; charset=UTF-8" en die combinatie zorgt waarschijnlijk voor de problemen die jij beschrijft.
Een aantal reacties eerder had ik al het contentType aangehaald. Maar eerst maar even kijken of dit iets oplevert .
Uhu, het lijkt te lukken.. Ik doe het nu op een eigen manier..
Hetgeen ik krijg van de API is veel te groot en bevat rare tekens, ...
Ik overloop het JS-object en maak er zelf een deftige array van, met enkel de gegevens die ik nodig heb. Als ik dit doorstuur kan ik zonder stringify enz werken en gewoon overlopen met een for-lus in PHP.
Met rotzooi terugkrijgen bedoel ik bijvoorbeeld het volgende: