Molt sovint es fa necessari transferir dades d'un navegador client a un fitxer de servidor amb un script per processar aquestes dades. Vegem exactament com organitzar la transferència de paràmetres php a l'script.
És necessari
Coneixements bàsics de llenguatges PHP i HTML
Instruccions
Pas 1
Per transportar dades de formularis web al protocol HTTP (HyperText Transfer Protocol) es proporcionen dos mètodes: GET i POST. Es diferencien en la forma en què es transmeten des de l’aplicació client (navegador) a l’aplicació servidor (script PHP executable). El mètode GET utilitza la barra d'adreces per a això. És a dir, els noms i els valors de les variables que se li passen s’afegeixen directament a l’adreça de l’escriptura (o URL - Uniform Resource Locator) mitjançant un signe d’interrogació (?). Per exemple, l'URL pot tenir aquest aspecte:
Aquí, a l'script search.php es passa una variable anomenada num amb un valor de 30, una variable finestra nova amb un valor d'1 i una variable segura amb un valor de desactivat. El servidor, havent rebut aquesta sol·licitud, per part del "?" separa l'adreça del fitxer i divideix tota la resta en parells de noms i valors de variables. Els parells resultants s'omplen a la matriu $ _GET, d'on els scripts php especificats a l'adreça podran extreure'ls. En la seva forma més senzilla, el codi html del formulari per enviar aquestes dades des del navegador al servidor mitjançant el mètode GET pot ser així:
I l'script php més senzill per rebre aquestes dades és així:
<? php
$ num = $ _GET ['num'];
$ newwindow = $ _GET ['newwindow'];
$ safe = $ _GET ['safe'];
?>
Els desavantatges més significatius de passar variables mitjançant el mètode GET:
- quantitat limitada de dades, ja que la longitud de l'URL no pot superar els 255 caràcters;
- no es poden transferir tots els caràcters de codi HTML mitjançant aquest mètode;
- les dades transmeses són visibles per l'usuari, cosa que no sempre és acceptable des del punt de vista de la seguretat;
Pas 2
Aquests inconvenients i limitacions es poden evitar utilitzant un altre mètode: POST. Utilitza àrees especials de paquets de xarxa per transferir capçaleres de dades. En la resta d’aspectes, les diferències entre aquests mètodes són mínimes: en la forma anterior d’enviar dades, només canviarà el nom del mètode:
I a l'script php, només el nom de la matriu de dades:
<? php
$ num = $ _POST ['num'];
$ newwindow = $ _POST ['newwindow'];
$ safe = $ _POST ['safe'];
?>