Links ::  | DEV web management system | Katalóg | Webhosting | Recepty
  
 Index | Registrácia | Hľadať | Galéria | BoardNeprihlásený užívateľ  //Piatok, 24. Novembra 2017 
Navigation
Index
Top 10 autorov
Top 20 článkov
Hľadať
Galéria

Zones
Asp.(NET)
C/C++
Flash
Grafika+Design
Hardware
Hry
Html/Css/Xml
Java
Linux
Networks
Operačný systém
Pascal/Delphi
PHP
Security
Software
SQL
Visual Basic
Wap/Wml
Windows
Zóna iné

Links
Script index Interval.cz Pc.sk Regedit.sk TipyaTriky.sk Builder.cz Asp.cz Živě.sk Zoznam.sk Code.box.sk Root.cz Quant&Financial

Odkazy

Sessions
Stránky Developer.sk si práve číta 308 čitateľov, z toho je 0 zaregistrovaných

BackEnd
Odkazy na nové články je možné preberať pomocou backend.php

kuk

    Formuláre ako vstup CGI skriptu - 4. časť CGI

Predpokladám že snáď každý už niekedy navštívil stránku vyhľadávača google.com. Tam hneď na začiatku stránky na vás vykúka pole pre zadanie reťazca, ktorý chcete hľadať.


Keď potom kliknete na tlačítko search, laebo stlačíte enter, reťazec, ktorý ste zadali je odovzdaný na vstup CGI skriptu. Pozrieme sa dnes spoločne na to, aké všetky možnosti vám formuláre v HTML poskytujú na odovzdanie údajov vášmu CGI programu.

Pokým chcete na svoju stránku umiestniť formulár, mal by kód tohto formulára vždy obsahovať ako prvý tag <FORM>. Tento tag je povinne párový, to znamená že obsah formulára musí byť ukončený tagom </FORM>. V praxi môže vyzerať kód formulára nasledovne:
<FORM METHOD="POST" ACTION="/cgi-bin/skript.cgi">
<!-- samotný formulár -->
</FORM>

Tu ste si určite všimli dva základné atribúty tagu FORM, a to ACTION a METHOD. Hodnotou atribútu ACTION je URL skriptu, ktorý spracuje dáta zadané užívateľom v danom formulári. Atribút METHOD môže nadobudnúť jednu z dvoch hodnôt: GET alebo POST. Rozdiel je v tom, že POST posiela dáta na vstup skriptu prostredníctvom štandardného vstupu a GET pomocou premenných prostredia (konkrétne QUERY_STRING).

Aké všetky prvky môžete vo svojom formulári použiť? Sú to textové polia, polia pre zadávanie hesiel, prepínacie tlačítka (radio buttony), zaškrtávacie polia (check boxy), ponuky, posuvné zoznamy, viacriadkové textové polia a samozrejme tlačítka Submit (Odošli) a Reset (Vymaž).

Najjednoduchším prvkom formulára je textové pole, resp. pole pre zadávanie hesla. Toto pole je presne to, ktoré vidíte na stránke Altavisty, resp. aby som nechodil ďaleko Superzoznamu. Jednoduchý riadok, do ktorého môže užívateľ napísať text, resp. môžete určiť, aký text sa bude v tomto poli nachádzať pri jeho zobrazení. Vyzerá nasledovne:

Text:

Takéto textové pole vložíte do vášho dokumentu pomocou nepárového tagu INPUT, ktorému priradíte atribút TYPE s hodnotou TEXT:
Text: <INPUT TYPE="TEXT" NAME="VSTUP" 
      SIZE="30" VALUE="Preddefinovany text">

Pokým atribút TYPE v tagu INPUT vynecháte, bude implicitne vytvorené jednoduché textové pole.

Atribúty NAME a VALUE sú spoločné pre viacero vstupných prvkov formulára. Pomocou NAME priraďujete danému prvku meno, pomocou ktorého môžete zistiť jeho hodnotu bez použitia nejakých krkolomých metód (napr. indexovania). Atribútom VALUE môžete prednastaviť hodnotu, ktorú daný prvok odovzdá CGI skriptu na spracovanie.

Atribút size v tomto prípade určuje, koľko znakov bude zobrazených naraz vo vstupnom poli. užívateľ samozrejme môže zadať reťazec dlhší, ako je počet zobrazených znakov.

Pokým chcete pridať do svojho formulára pole na zadanie hesla, je to opäť možné pomocou tagu INPUT priradením hodnoty PASSWORD atribútu TYPE. Potom pri zadávaní reťazca budú miesto jednotlivých znakov zobrazované hviezdičky, resp. bodky:

Heslo:

Nutno sa zmieniť o ďalšom type vstupného poľa, ktoré je hojne využívané na zadanie určitej hodnoty, ktorú chcete skriptu z formuláru odovzdať, čo sa hodí napr. pri odovzdávaní dát medzi viacerými formulármi. Typ vstupu o ktorom hovorím nie je prehliadačom zobrazený, avšak je súčasťou formulára a v HTML kóde vyzerá nasledovne:
Text: <INPUT TYPE="HIDDEN" NAME="POLOZKA" VALUE="Hodnota">

Takýto prvok odovzdá na vstup CGI skriptu položku s názvom definovaným v atribúte NAME a hodnotou tejto položky bude hodnota atribútu VALUE.

Ďalším formulárovým prvkom je zaškrtávacie pole alebo checkbox. Určite vás ihneď napadá využitie takéhoto prvku, tkaže prejdem priamo k jeho vytvoreniu. Opäť naň slúži náš známy tag INPUT, tentokrát však atribútu TYPE musíte priradiť hodnotu CHECKBOX. Potom podľa toho, aké meno priradíte danému checkboxu, dostane skript na svoj vstup reťazec meno_checkboxu=on pri zaškrtnutom políčku. Implicitnú hodnotu "on" môžete potlačiť atribútom VALUE, pri zaškrtnutí políčka sa táto potom priradí k menu checkboxu a odošle na vstup skriptu. Zároveň môžete určiť, že checkbox bude pri načítaní stránky zaškrtnutý pomocou atribútu CHECKED, ktorý nenadobúda žiadnu hodnotu. Nasledovný kód vytvorí 3 zaškrtávacie políčka:
Políčko 1 <input type="Checkbox" name="policko1">
Políčko 2 <input type="Checkbox" name="policko2" CHECKED>
Políčko 3 <input type="Checkbox" name="policko1">

Políčko 1 Políčko 2 Políčko 3

Takto vytvorené checkboxy nie sú navzájom "spriahnuté" a môže ich byť naraz zaškrtnutých niekoľko. Pokým chcete dať užívateľovi možnosť vybrať si len jednu hodnotu z nejakej množiny hodnôt, použite prepínacie tlačítko - radio button.

Radio button vytvoríte, ak tagu INPUT priradíte atribút TYPE s hodnotou RADIO. Tu platí jedna zásada: ak má mať užívateľ možnosť výberu len jednej hodnoty, musia mať všetky prvky danej množiny rovnaký názov. Potom skript dostane pri odoslaní formulára na svoj vstup názov radio buttonu a jeho hodnotou bude hodnota atribútu VALUE zaškrtnutého radio buttonu. Opäť platí, že zaškrtnutý prvok určíte atribútom CHECKED:
Hodnota 1 <input type="radio" name="hodnota" value="1">
Hodnota 2 <input type="radio" name="hodnota" value="2" CHECKED>
Hodnota 3 <input type="radio" name="hodnota" value="3">

Hodnota 1 Hodnota 2 Hodnota 3

Posledné dva prvky, ktoré využívajú tag INPUT sú tlačítka Submit (Odošli) a Reset (Vymaž). Už ich názvy určujú, čo bude hodnotou atribútu TYPE - teda SUBMIT alebo RESET. Ich implicitné popisky - Submit Query pre SUBMIT a Reset pre RESET môžete samozrejme zmeniť hodnotou atribútu VALUE.

Ako už vyplýva z ich názvov, tlačítko Submit odovzdá užívateľom zadané dáta z formulára na vstup skriptu a lačítko Reset vymaže formulár, resp. uvedie ho do stavu, v ktorom je po načítaní stránky browserom. Opäť nasleduje príklad, v ktorom si vytvoríme takéto tlačítka a zmeníme ich popisky:
<input type="Submit" value="Odošli formulár">
<input type="Reset" value="Vymaž formulár">

Dostávame sa k ponukám a posuvným zoznamom. V zásade medi tymito dvoma prvkami je len minimálny rozdiel: v posuvnom zozname je možné zobraziť a vybrať viac prvkov naraz, kdežto v ponuke je možné vybať len jednu položku. Oba tieto prvky sú tvorené pomocou tagu SELECT, ktorý nadobúda známy atribút NAME. Tag SELECT je povinne párový a vo svojom tele obsahuje skupinu tagov OPTION. Tu je ukážka vytvorenia ponuky:
<select name="ponuka">
<option>Ponuka1
<option selected>Ponuka2
<option>Ponuka3
</select>

Určite ste si všimli, že pomocou atribútu SELECTED je možné vopred nastaviť položku, ktorá bude vybraná. Pri odoslaní dát formulára takáto ponuka odošle na vstup CGI skriptu meno ponuky dané atribútom NAME tagu SELECT a hodnotu zvolenej položky - tagu OPTION. Túto hodnotu tvorí text, ktorý nasleduje za tagom OPTION, resp. ju môžete určiť atribútom VALUE.

Pokým chcete vytvoriť posuvný zoznam, použijete rovnakú konštrukciu ako pre vytvorenie ponuky a v tagu SELECT pomocou atribútu SIZE určíte počet položiek, ktoré budú naraz viditeľné. Môžete tiež pomocou atribútu MULTIPLE určiť, že bude možné vybrať viac hodnôt naraz. Príklad:
<select name="list" size=3 multiple>
<option>Ponuka1
<option selected>Ponuka2
<option>Ponuka3
<option>Ponuka4
<option>Ponuka5
</select>

Na záver nám ostal už len jeden prvok formulára, a to viacriadkové textové pole. Toto je tvorené povinne párovým tagom TEXAREA, ktorému atribútmi COLS a ROWS určíte počet zobrazených stĺpcov a riadkov. Pokým užívateľ zadá viac znakov, ako sa do daného priestoru vojde, na okraji tohto prvku sa vytvorí posuvník a užívateľ môže kľudne vpisovať ďalej. Názov tohto prvku opäť určujete atribútom NAME. Pokým chcete zadať nejaký text, ktorý sa má v danom poli zobraziť, neurčujete ho priamo ako atribút tagu TEXTAREA, ale musíte ho zadať do tela tagu:
<textarea name="pole" cols="45" rows="5">
Sem môžete vpísať svoj text...
</textarea>
Nabudúce si vysvetlíme, ako v skripte spracovať vstupné dáta.


Autor : Developer, čítané 5004x, komentárov: 0
Hodnotenie :    |  Štvrtok, 13. Marca 2003

Pridať nový komentár/Komentáre
Vaše hodnotenie :   horšie  lepšie
Login
Login:
Heslo:

Hľadať
 
v článkoch
v diskusiach
v komentároch

Top read
PHP Coder

Priklady v C. 1.čast.

DEV web management system

Php a bezpečnosť skriptov

Autorun CD

Top discuss
Jednoduchý web formulár (ASP.NET)

Delphi seriál: (1.časť)

Velmi rychla grafika v Pascale

DEV web management system

Naša ikona
Páčia sa Vám naše stránky ? Ak áno, podporte nás prosím a umiestnite si na svoju stránku našu ikonku:





Copyright (c) Developer.sk, All rights reserved.
Powered by DEV web management system