6. Dades procedents d'altres documents

Índex

 

Introducció

Les dades que fa servir un document PHP poden procedir d'un altre. La transmissió entre el document d'origen i el de destí pot ésser immediata o diferida. La transmissió immediata es pot fer mitjançant dos procediments, anomenats GET i POST. El mètode post exigeix l'ús d'un formulari; el mètode get pot fer servir un formulari o un hipervincle que porti els paràmetres annexats explícitament a l'URI. L'hipervincle pot quedar especificat amb només HTML o amb l'ajut del JavaScript.

La transmissió diferida es pot fer amb cookies o amb variables de sessió, que analitzarem més endavant.

 

Tramesa de dades des d'un formulari pel mètode POST

Aquest procediment exigeix l'especificació

Les dades trameses són recollides en el document de destí per

on nom_del_camp és el nom del camp del formulari, assignat amb name en aquell.

Aquest és l'únic procediment de transmissió de dades que hem fet servir en els exemples anteriors.

 

Tramesa de dades des d'un formulari pel mètode GET

Aquest procediment és molt semblant a l'anterior, amb la diferència que en el document d'origen es fa servir

i les dades trameses són identificades mitjançant

Una fórmula equivalent a la del formulari consisteix a explicitar els paràmetres en un hipervincle contingut en el document inicial:



Vegeu-ne el resultat

Una altra forma de tramesa de dades consisteix a emprar el location.href del JavaScript, amb sengles instruccions de l'estil de la següent:

 

$_REQUEST

Tant $_POST com $_GET poden ésser substituïts per $_REQUEST.

Cal notar que $_POST, $_GET i $_REQUEST són casos particulars de vectors associatius, a què ja ens hem referirit.

 

Tipus de camps d'un formulari

El nom de la clau i els valors que s'hi poden associar depenen del tipus de camp:

Tipus de camp Clau Valors possiibles
text valor assignat lliurement amb name. valor introduït a la casella.
password
hidden
textarea
radio valor assignat lliurement amb name. valor associat a value.
select > option
checkbox

 

Camps de contrassenya

Les dades introduïdes mitjançant input type="password" no es mostren en la pantalla en el moment d'ésser introduïdes, però després són trameses amb el seu veritable valor, i processades en destí igual que les trameses amb input type="text".





Vegeu-ne el resultat (la contrasenya és ocell)


 

Botons de selecció i desplegables

En aquests casos el valor transmès és el valor de l'atribut value corresponent.



Vegeu-ne el resultat

 

El cas de les caselles de confirmació

Si una casella de confirmació no és activada, no es forma el terme $_POST[nom], de manera que si l'invoquéssim en el document de destí rebríem un missatge d'error. Per aquest motiu en aquests casos es fa servir un procediment una mica més indirecte, mitjançant les funcions isset() o foreach().

Si un checkbox no té l'atribut value i és activat, rep automàticament el valor on.