Pagina 1 van 1
$_GET en arrays
Geplaatst: 02 feb 2005, 17:58
door Stino
Hoe kan ik een array doorgeven aan een volgende pagina via GET? Of wordern er daarvoor andere oplossingen gebruikt?
Stino...
Geplaatst: 02 feb 2005, 18:19
door Sub Zero
Gewoon een lange string maken en dan exploden rond een karakter bijvoorveeld een , of | ofzo.
Cheers
Geplaatst: 02 feb 2005, 18:43
door Stino
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...
Geplaatst: 02 feb 2005, 21:26
door ubremoved_539
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.
Geplaatst: 02 feb 2005, 22:21
door Stino
Als ik dat niet doe, heeft ie blijkbaar niet door dat het een array is, en neemt het script altijd de laatste waarde
Geplaatst: 03 feb 2005, 13:16
door ban
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 ...
Geplaatst: 03 feb 2005, 14:21
door ubremoved_539
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.
Geplaatst: 03 feb 2005, 14:33
door Stino
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...