Svært ofte blir det nødvendig å overføre data fra en klientleser til en serverfil med et skript for behandling av disse dataene. La oss se nøyaktig hvordan du organiserer overføringen av php-parametere til skriptet.
Det er nødvendig
Grunnleggende kunnskap om PHP- og HTML-språk
Bruksanvisning
Trinn 1
For å transportere data fra webskjemaer i HTTP (HyperText Transfer Protocol) er to metoder gitt - GET og POST. De er forskjellige i måten de overføres fra klientapplikasjonen (nettleser) til serverapplikasjonen (kjørbart php-skript). GET-metoden bruker adresselinjen til dette. Det vil si at navnene og verdiene på variablene som sendes til den, legges direkte til skriptadressen (eller URL - Uniform Resource Locator) gjennom et spørsmålstegn (?). For eksempel kan nettadressen se slik ut:
Her blir search.php-skriptet sendt en variabel kalt num med verdien 30, en variabel newwindow med verdien 1 og en variabel safe med verdien av. Serveren, etter å ha mottatt en slik forespørsel, av "?" skiller filadressen, og deler alt annet i par med variabelnavn og verdier. De resulterende parene er fylt ut i $ _GET-matrisen, hvorfra php-skriptet som er spesifisert i adressen, kan trekke dem ut. I sin enkleste form kan skjemaet html-kode for å sende disse dataene fra nettleseren til serveren ved hjelp av GET-metoden se slik ut:
Og det enkleste php-skriptet for å motta disse dataene er slik:
<? php
$ num = $ _GET ['num'];
$ newwindow = $ _GET ['newwindow'];
$ safe = $ _GET ['safe'];
?>
De viktigste ulempene ved å overføre variabler ved hjelp av GET-metoden:
- begrenset mengde data, siden lengden på URL-en ikke kan overstige 255 tegn;
- ikke alle html-kodetegn kan overføres med denne metoden;
- de overførte dataene er synlige for brukeren, noe som ikke alltid er akseptabelt fra et sikkerhetsmessig synspunkt;
Steg 2
Disse ulempene og begrensningene kan unngås ved å bruke en annen metode - POST. Den bruker spesielle områder av nettverkspakker for å overføre dataoverskrifter. I alle andre henseender er forskjellene mellom disse metodene minimale - i ovennevnte form for sending av data vil bare navnet på metoden endres:
Og i php-skriptet, bare navnet på dataarrayet:
<? php
$ num = $ _POST ['num'];
$ newwindow = $ _POST ['newwindow'];
$ safe = $ _POST ['safe'];
?>