Vi er alle kjente med at man kan bruke GET for å velge side, eksempel:
<a href="index.php?side=Hjem">Hjem
<a href="index.php?side=Info">Info
*Ulempen* ved å bruke denne metoden er at man får den kanskje skjemmende teksten "?side=blahblahblah" etter url'en. Ved å bruke POST-metoden istedenfor GET kan man fjerne denne teksten, noe som bidrar til å lage en ryddigere hjemmeside. (selv om kildekoden ikke akkurat blir så mye ryddigere)
For å bruke POST-metoden istedenfor GET, kan man ikke bruke den vanlige metoden, med såkalt 'querystring' etter url'en. Måten man gjør dette på, er å opprette et skjema som bare inneholder en input, som er skjult. Dette skjemaet pleier jeg for ordens skyld å legge inn i kildekoden, rett etter
-flagget. Koden for dette skjemaet blir da:<form name="navigasjon" method="post" action="index.php"> <input type="hidden" name="side" value="" /> </form>
Når noen trykker på en link, bruker vi javascript for først å forandre verdien til "side". Deretter bruker vi javascript til å sende skjemaet. Koden vil da ligne noe slikt:
<a href="javascript:document.navigasjon.side.value='Hjem'; document.navigasjon.submit();">Hjem
<a href="javascript:document.navigasjon.side.value='Info'; document.navigasjon.submit();">Info
PHP-delen er nesten helt lik den som brukes ved GET, bortsett fra at man bruker $_POST.
Vår samlede kode, med POST-metoden, ser da slik ut:
<html> <head> </head> <body> <form name="navigasjon" method="post" action="index.php"> <input type="hidden" name="side" value="" /> </form> Velkommen til denne siden! <a href="javascript:document.navigasjon.side.value='Hjem'; document.navigasjon.submit();">Hjem
<a href="javascript:document.navigasjon.side.value='Info'; document.navigasjon.submit();">Info
Eventuell forbedring: Når man holder musen over linken, vil status-linja vise javascriptet. For å holde hjemmesida like ren som den ble ved bruk av POST-metoden, kan man forandre statuslinjeteksten manuelt. For å gjøre dette legges det til to javascript- kommandoer i linkene, eksempel:
<a OnMouseOver="window.status='Hjem'; return true;" OnMouseOut="window.status=''; return true;" href="javascript:document.navigasjon.side.value='Hjem'; document.navigasjon.submit();">Hjem
Lykke til med bruken av POST!
- Eirik Sletteberg