Gå til innhold

Overføre POST og GET i vanlige linker


Anbefalte innlegg

Videoannonse
Annonse

Sikker på det? Jeg lurer også på det her, og jeg kom over denne. Jeg fikk den riktignok ikke til å funke, men det burde vel være mulig å gjøre noe i samme bane – Bruke JavaScript til å lure nettleseren til å tro at du har trykket på en submitknapp?

 

For min del kunne det vært veldig greit, ettersom jeg prøver å samle en bunch med litt mer omfattende funksjoner i samme PHP-fil, og for at den skal kunne utføre riktige operasjoner "på" seg selv, må den sende POST-verdier med. GET er uaktuelt ettersom datamengden stadig er over 100 tegn. Submitknappene blir store, stygge og uhåndterlige... dvs., det blir mye CSS for å kverke'rem. (...som om ikke fila mi er stor nok fra før... :p)

Lenke til kommentar

GET er variabler du mottar i adressen til siden. ? forteller serveren at etter her defineres variabler. slik:

 

?variable=verdi

 

som hentes ut med php som vanlig:

 

$var = $_GET['variabel'];

 

ønskes flere variabler sent samtidig avskilles disse med et & tegn

 

?variabel1=verdi1&variabel2=verdi2

 

POST derimot er data mottatt fra en FORM, atlså må du ha en form rundt det, men det trenger ikke vises som en submit knapp:

 

<form name="skjema1" method="post" action="?variabel1=verdi1">
<input type="hidden" name="variabel2" value="verdi2" />
<a href="" onclick="this.submit()">link</a>
</form>

 

med denne linken sendes variabel1 som en get (se action atributten i form taggen)

 

og variabel2 som en POST (se input taggen som er hidden, den vises altså ikke, duh :p )

 

(ikke 100% sikker på JS akkurat nå, men submit med tekstlink er i allefall ment)

 

er du usikker på om du mottar data som post eller get, eller noen ganger begge deler kan $_REQUEST benyttes

 

nyttig lesestoff

http://no.php.net/manual/en/language.varia....predefined.php

Lenke til kommentar
NH: Det går ikke an å bruke action-attributten til å sette GET-variabler. Du kan kun vise til filer eller mapper i action="".

6918815[/snapback]

Neivel? Bruker da støtt og stadig meg av muligheten til å skrive action="fil.php?foo=bar" samtidig som formen sender sine data som post, så jeg tror nesten du tar feil der gitt ;) Endret av Ernie
Lenke til kommentar
POST derimot er data mottatt fra en FORM, atlså må du ha en form rundt det, men det trenger ikke vises som en submit knapp:

 

http://no.php.net/manual/en/language.varia....predefined.php

6917541[/snapback]

 

Dette er noe upresist. Du kan sende data fra en html form både med GET og med POST.

 

Forskjellen er at ved GET legges variablene parvis som "="-separerte navn-verdi par og adskilt med &, som du har sett.

 

Ved POST kodes variablene som "innhold" ("content") til din HTTP-forespørsel. Dvs at din nettleser først sender vanlige HTTP-headers og deretter to linjeskift og så variablene kodet på samme måte som ved en GET-forespørsel.

 

Vanligvis tror man bare at HTTP-responser har innhold ("content"), men HTTP-forespørsler kan altså like fint ha dette, det er ingen prinsipiell grunn til at de ikke skulle det.

Lenke til kommentar

om du bruker ?session=false og henter ut dette med variabelen $session går du utifra at register globals står på, dette er ikke lenger standard i php. du må da bruke superglobalen $_SESSION som er et array med navnet på variabelen som id:

 

"$_SESSION['sesssion'] == false"

 

som sagt. les her:

http://no.php.net/manual/en/language.varia....predefined.php

 

allt om dette står der

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...