t; h1 > Verðmæti inn var: ") printf ("% s < /h1 > \\ n ", getenv (" QUERY_STRING ")); printf (" < /body > \\ n "); printf (" < /html > \\ n "); aftur 0;}
Það var unnin með eftirfarandi skipun:
GCC simpleform.c -o simpleform.cgi Og það var sett í CGI-bin skrá. Þetta forrit tekur einfaldlega upp verðmæti sent frá formi og birtir það. Til dæmis gætir þú séð eftirfarandi:
Verðmæti inn var: Nafn = John + Smith Name er auðkenni fyrir innsláttarreit í formi (hvert inntak sviði á formi ætti að hafa einkvæmt kennimerki), og John + Smith er dæmigerð nafn sem gæti fært á mynd. Athugaðu að " + " stað á bil staf.
Á þessari dæmis er hægt að sjá að helstu ferli að setja upp form og fá gögn úr formi í CGI skrift er nokkuð augljóst. Hér eru nokkrar upplýsingar til að hafa í huga:
Hvert inntak sviði á formi ætti að hafa sérstakt auðkenni
The form þarf að nota annaðhvort GET eða POST aðferð. . The GET aðferð hefur þann kost að þú getur séð gildi formi í slóð send til handrit, og það gerir kembiforrit auðveldara.
Það eru ákveðin takmörk á fjölda stafa sem hægt er að senda í gegnum GET aðferð svo POST er valinn fyrir stór form.
Gögn sem kemur í gegnum GET aðferð berst horfa á QUERY_STRING umhverfisbreytunni (yfirleitt lesa með getenv virka í C eða $ ENV leikni í Perl). Gögn sem kemur í gegnum POST aðferð er í boði í gegnum STDIN nota fær í C eða lesið í Perl.
Gögnin sem kemur í er að fara að hafa öllum sviðum litlum bútum saman í einum streng og margir stafir verður skipt út fyrir og því þarf þýðingu. Til dæmis, öll rými verður skipt út með plús-merkjum.
QUERY_STRING umhverfi breyta koma upp efni af umhverfið breytum almennt. There ert a tala af umhverfið breytum sem þú getur rannsaka CGI forskriftir, including:
AUTH_TYPE
CONTENT_LENGTH
CONTENT_TYPE
GATEWAY_INTERFACE
HTTP_ACCEPT
HTTP_USER_AGENT
PATH_INFO
PATH_TRANSLATED
QUERY_STRING
REMOTE_ADDR
REMOTE_HOST
REMOTE_IDENT
REMOTE_USER
REQUEST_METHOD
SCRIPT_NAME
SERVER_NAME
SERVER_PORT
SERVER_PROTOCOL
SERVER_SOFTWARE
There eru alls konar áhugaverðum stykki af upplýsingar grafinn í þessum umhverfið breytum, þar á meðal lengd inntak band (CONTENT_LENGTH), hvaða aðferð er notuð (GET eða POST -