$_GET en arrays

Alles over programmeren en development binnen de IT-wereld
Plaats reactie
Stino
Plus Member
Plus Member
Berichten: 163
Lid geworden op: 03 jan 2004, 13:49

Hoe kan ik een array doorgeven aan een volgende pagina via GET? Of wordern er daarvoor andere oplossingen gebruikt?

Stino...
Gebruikersavatar
Sub Zero
Administrator
Administrator
Berichten: 6181
Lid geworden op: 15 sep 2002, 12:14
Locatie: Herzele
Uitgedeelde bedankjes: 74 keer
Bedankt: 121 keer

Gewoon een lange string maken en dan exploden rond een karakter bijvoorveeld een , of | ofzo.

Cheers
Afbeelding
Stino
Plus Member
Plus Member
Berichten: 163
Lid geworden op: 03 jan 2004, 13:49

Gadver, dat ik daar niet aan heb gedacht...
Maar kheb ondertussen al een oplossing gevonden, blijkbaar werkt het wanneer je gewoon een aantal keer dezelfde variabele herhaald:
bla.php?var%5B%5D=val1&var%5B%5D=val2&... Die %5B%5D staat voor []
Dus zo heb ik het opgelost...

Stino...
ubremoved_539
Deel van't meubilair
Deel van't meubilair
Berichten: 29849
Lid geworden op: 28 okt 2003, 09:17
Uitgedeelde bedankjes: 434 keer
Bedankt: 1972 keer

Stino schreef:Gadver, dat ik daar niet aan heb gedacht...
Maar kheb ondertussen al een oplossing gevonden, blijkbaar werkt het wanneer je gewoon een aantal keer dezelfde variabele herhaald:
bla.php?var%5B%5D=val1&var%5B%5D=val2&... Die %5B%5D staat voor []
Dus zo heb ik het opgelost...
Waarom heb je die []-haakjes er nog bij staan... is normaal niet nodig.
Stino
Plus Member
Plus Member
Berichten: 163
Lid geworden op: 03 jan 2004, 13:49

Als ik dat niet doe, heeft ie blijkbaar niet door dat het een array is, en neemt het script altijd de laatste waarde
Gebruikersavatar
ban
Pro Member
Pro Member
Berichten: 232
Lid geworden op: 22 maa 2004, 16:21

Stino,

een string maken en telkens doorgeven is natuurlijk mogelijk, maar heeft nadelen :
- GET (zoals in je voorbeeld) maakt je url's veel te lang en geeft proxy servers enzo inzage in info die ze niet moeten zien.
- POST (bvb via een 'hidden' form element) is veel te groot en kan erg lang duren (extra http request(s))

Maar php heeft een ingebouwde oplossing : session functions
http://be.php.net/manual/en/ref.session.php

je plaatst gewoon dit commando bovenaan iedere pagina :
session_start();

en dan duw je je variablelen gewoon op de 'session-stack' :
// Use $HTTP_SESSION_VARS with PHP 4.0.6 or less
$_SESSION['count'] = 0;

Deze zijn available op iedere pagina waar je 'session_start' aanroept.
noot : browser window toedoen = einde session = variables gone.

Hope that helps ...
ubremoved_539
Deel van't meubilair
Deel van't meubilair
Berichten: 29849
Lid geworden op: 28 okt 2003, 09:17
Uitgedeelde bedankjes: 434 keer
Bedankt: 1972 keer

Stino schreef:Als ik dat niet doe, heeft ie blijkbaar niet door dat het een array is, en neemt het script altijd de laatste waarde
In Java werkt dit toch zonder problemen als je het inleest via

String[] var = request.getParameterValues("var");

Nu zijn sessions inderdaad beter als het louter is om parameters door te geven. De gebruiker kan dan ook niet aan je parameters aan, maar je moet je sessie object dan wel clean houden.
Stino
Plus Member
Plus Member
Berichten: 163
Lid geworden op: 03 jan 2004, 13:49

Ban, ik ga het zeker eens op die manier proberen, dat zou inderdaad veel netter zijn. Het spijtige aan de zaak is dat ik zo al een hele hoop heb geprogrammeerd mbv GET en POST. Momenteel doe ik alleen de login en logout van gebruikers op die manier, nooit aan gedacht dat ik alles zo kon doen eigenlijk (beginnend php-er). Maar het werkt nu, dus de zin om alles opnieuw te veranderen is momenteel een beetje zoek... Het zal dus wachten worden op een verveel-moment met programmeergoesting.
Bedankt voor de inbreng Ban en r2504!

Stino...
Plaats reactie

Terug naar “Development”