Hoe kan ik een array doorgeven aan een volgende pagina via GET? Of wordern er daarvoor andere oplossingen gebruikt?
Stino...
$_GET en arrays
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...
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...
-
- Deel van't meubilair
- Berichten: 29849
- Lid geworden op: 28 okt 2003, 09:17
- Uitgedeelde bedankjes: 434 keer
- Bedankt: 1972 keer
Waarom heb je die []-haakjes er nog bij staan... is normaal niet nodig.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...
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 ...
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 ...
-
- Deel van't meubilair
- Berichten: 29849
- Lid geworden op: 28 okt 2003, 09:17
- Uitgedeelde bedankjes: 434 keer
- Bedankt: 1972 keer
In Java werkt dit toch zonder problemen als je het inleest viaStino schreef:Als ik dat niet doe, heeft ie blijkbaar niet door dat het een array is, en neemt het script altijd de laatste waarde
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.
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...
Bedankt voor de inbreng Ban en r2504!
Stino...