torms Skrevet 26. august 2004 Del Skrevet 26. august 2004 Jeg ønsker følgende: Jeg har diverse former på nettstedet som sender data til php-scripts. Er det noen måte å skjule dette på? Slik er det nå: http://domene.net/script.php?id=7&nr=34 Jeg vil ha: http://domene.net/script.php Eller: http://domene.net/ -torms Lenke til kommentar
epsil Skrevet 26. august 2004 Del Skrevet 26. august 2004 Bruk POST i stedet for GET. Endre method-attributtet på form-elementet, slik: <form action="script.php" method="post"> … og hent dataene fra innsendingsskjemaet fra arrayet $_POST i stedet for fra $_GET. Lenke til kommentar
torms Skrevet 26. august 2004 Forfatter Del Skrevet 26. august 2004 Jeg bruker $_POST. Spørrestrengen vises jo likegodt av den grunn. -torms Lenke til kommentar
magh Skrevet 26. august 2004 Del Skrevet 26. august 2004 Du kan bruke én php-fil for hver underside, for eksempel; hovedside.php artikler.php artikkel001.php kontakt.php Og så videre. En annen mulighet er mod_rewrite. Lenke til kommentar
torms Skrevet 26. august 2004 Forfatter Del Skrevet 26. august 2004 En annen mulighet er mod_rewrite. Det var en lærerik artikkel! Lenke til kommentar
jorgis Skrevet 26. august 2004 Del Skrevet 26. august 2004 mod_rewrite er den mest aktuelle løsningen, siden trådstarter da slipper å måtte fordele scriptet sitt på flere filer og dermed gjøre hele greien unødvendig komplisert. Lenke til kommentar
epsil Skrevet 27. august 2004 Del Skrevet 27. august 2004 (endret) 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 27. august 2004 av ePsiLON47 Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå