ik wil een javascript menutje maken, zo dat de pagina niet hoeft te reloaden als op een linkt klikt,
alleen ik heb geeeeeen idee hoe ik de pagina moet laten include,
dus de JS vars naar PHP kan brengen, tips zijn welkom :)
?Onbekende gebruiker
03-01-2009 15:56
Het eeuwen-oude probleem van: client-side vs. server-side.
Uitleg:
PHP is server-side en UITSLUITEND server-side. Dit houdt in dat de parser de PHP code verwerkt en vervolgens naar de browser stuurt (als HTML). De browser voegt vervolgens daar de output van JavaScript aan toe en je hebt een pagina.
Hieruit kun je dus al zien dat JavaScript NA PHP komt en daarom nooit doorgegeven KAN worden aan PHP.
Een mogelijke optie is een [google]ajax request[/google] sturen naar de PHP pagina en met [google]json[/google] JavaScript variabelen encoderen en naar PHP versturen.
De AJAX methode verstuurt een request naar een pagina met als bedoeling Asynchroom (zonder de pagina te laden) de output op te vangen en te plaatsen.
AJAX staat immers voor Asynchronous JavaScript And XML.
Er gaat als het ware via een achterdeur die de gebruiker niet merkt een pagina refresh aan de gang.
Client ------------------------- Pagina > home.html <
Klikt de client nu op een link op Pagina
Dan gebeurt er niks met Pagina maar AJAX verandert de container > home.html <:
Client ------------------------- Pagina > info.html <
Enige nadeel is dat je niet de back button van je browser kan gebruiken. Misschien is dit wel op te vangen, dat weet ik zo niet.
Dat is niet het enige nadeel...
Zo is het ook niet mogelijk om verschillende pagina's te bookmarken omdat simpelweg de url niet verandert. En kunnen zoekmachines, zoals google, om dezelfde reden de verschillende paginas niet indexeren.
Kortom, dit is geen geschikte oplossing als het gaat om de navigatie binnen een website...