Gå til innhold

Fjerne spørrestreng fra URL i adressefeltet?


Anbefalte innlegg

Videoannonse
Annonse

Hvis dataene sendes inn til http://domene.net/script.php?id=7&nr=34, kan man bruke mod_rewrite til å forskjønne (og optimere) URL-ene, ja. Men dette vil ikke skjule hvilket datahåndteringsrutiner som brukes (om dette er en lur ting er vel en annen diskusjon), som ser ut til å være hva trådstarter ønsker å gjøre i første innlegg.

 

Jeg antar i så fall at «script.php» tar seg av alle POST-data fra innsendingsskjemaene på nettstedet, uansett hvilket skjema som er brukt. Rutinene for å behandle disse dataene identifiseres med GET-variablene id og nr, slik at forskjellige innsendingsskjemaer kan benytte seg av forskjellige rutiner. (En annen implementeringsløsning er at variablene identifiserer innsendingsskjemaene selv, og at skriptet så velger rutiner basert på hvilket skjema dataene kommer fra.)

 

Det er imidlertid ikke nødvendig å sende denne informasjonen via GET, slik at form-starttaggen til et gitt innsendingsskjema for eksempel er <form action="/script.php?id=7&nr=34" method="post">. Disse variablene kan også settes via POST sammen med de andre POST-dataene fra skjemaet, ved å bruke en funksjon i HTML vi kan kalle skjulte datafelt. Dette er input-elementer der type-attributtet har verdien «hidden», og de er fullstendig usynlige for brukeren av skjemaet. Ellers fungerer de på samme måte som de fleste andre input-elementer, ved at value-attributtet inneholder informasjonen vi ønsker å sende, og at name-attributtet tilordner denne verdien et identifiserende navn som vi i skriptet bruker for å få fatt i dataene. Den følgende HTML-koden sender inn id- og nr-variablene via POST:

 

<form action="script.php" method="post">
  <input name="id" type="hidden" value="7">
  <input name="nr" type="hidden" value="34">
  ...
</form>

I skriptet (som kan ha URL-en http://domene.net/script.php, http://domene.net/ eller noe annet fancy – her kan mod_rewrite komme inn) identifiserer du så innsendingsskjemaet/datahåndteringsrutinene på grunnlag av $_POST['id'] og $_POST['nr'], og prosesserer dataene deretter.

Endret av ePsiLON47
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...