Meget ofte bliver det nødvendigt at overføre data fra en klientbrowser til en serverfil med et script til behandling af disse data. Lad os se nøjagtigt på, hvordan man organiserer overførslen af php-parametre til scriptet.
Er det nødvendigt
Grundlæggende viden om PHP- og HTML-sprog
Instruktioner
Trin 1
For at transportere data fra webformularer i HTTP (HyperText Transfer Protocol) leveres to metoder - GET og POST. De adskiller sig i den måde, de overføres fra klientapplikationen (browser) til serverapplikationen (eksekverbart php-script). GET-metoden bruger adresselinjen til dette. Navnene og værdierne på de variabler, der sendes til den, føjes direkte til scriptadressen (eller URL - Uniform Resource Locator) gennem et spørgsmålstegn (?). For eksempel kan URL'en se sådan ud:
Her overføres scriptet search.php til en variabel med navnet num med en værdi på 30, en variabel newwindow med en værdi på 1 og en variabel safe med en værdi fra. Serveren, der har modtaget en sådan anmodning, af "?" adskiller filadressen og deler alt andet i par med variabelnavne og værdier. De resulterende par udfyldes i $ _GET-arrayet, hvorfra det php-script, der er angivet i adressen, kan udtrække dem. I sin enkleste form kan formularen html-kode til at sende disse data fra browseren til serveren ved hjælp af GET-metoden se sådan ud:
Og det enkleste php-script til modtagelse af disse data er sådan:
<? php
$ num = $ _GET ['num'];
$ newwindow = $ _GET ['newwindow'];
$ safe = $ _GET ['safe'];
?>
De mest betydningsfulde ulemper ved at overføre variabler ved hjælp af GET-metoden:
- begrænset mængde data, da længden på URL'en ikke må overstige 255 tegn;
- ikke alle html-kode tegn kan overføres ved denne metode;
- de transmitterede data er synlige for brugeren, hvilket ikke altid er acceptabelt fra et sikkerhedsmæssigt synspunkt;
Trin 2
Disse ulemper og begrænsninger kan undgås ved at bruge en anden metode - POST. Det bruger specielle områder af netværkspakker til at overføre dataoverskrifter. I alle andre henseender er forskellene mellem disse metoder minimale - i ovennævnte form for afsendelse af data ændres kun navnet på metoden:
Og i php-scriptet er kun navnet på dataarrayet:
<? php
$ num = $ _POST ['num'];
$ newwindow = $ _POST ['newwindow'];
$ safe = $ _POST ['safe'];
?>