Vstupnφmi prvky formulß°e myslφme editaΦnφ pole, oznaΦovacφ Φtverce, p°epφnaΦe, textovß pole a dalÜφ.
P°i vytvß°enφ t∞chto prvk∙ ve formulß°i musφme peΦliv∞ volit jejich jmΘna, tzn. parametry NAME
jednotliv²ch INPUT
nebo SELECT
tag∙ (blφ₧e viz popis HTML). R∙znΘ vstupnφ prvky musφme pojmenovat jednoznaΦn²mi jmΘny v rßmci danΘho formulß°e, nesmφ tedy v jednom formulß°i existovat dva vstupnφ prvky se stejn²m jmΘnem (rozdφlnß jmΘna prvk∙ se net²kajφ samoz°ejm∞ skupiny oznaΦovacφch Φtverc∙ (CheckBox∙) nebo p°epφnaΦ∙ (RadioButton∙), kde se naopak shodnost jmen vy₧aduje). Tato jmΘna vstupnφch prvk∙ pak budeme pou₧φvat p°i sestavovßnφ WBC konektor∙.
Mß-li b²t vstupnφ prvek formulß°e napln∞n daty (nap°. combo nebo listbox), musφ v Üablon∞ p°edchßzet konektor s vhodn²m blokem SQLStatement
obsahujφcφ zdroj (viz p°φklad 2 a 3).
P°φklad 1:
Ve (statickΘm) formulß°i jsou t°i editaΦnφ pole (druhΘ a t°etφ mß p°ednastavenou implicitnφ hodnotu):
<FORM METHOD=GET ACTION="/cgi-bin/wbcgi.exe/moje_db/anketa/vstup.htw"> <TABLE> <TR><TD>jmΘno zßkaznφka:</TD><TD><INPUT TYPE="TEXT" NAME="jmeno" VALUE="" SIZE=10 MAXLENGTH=10></TD></TR> <TR><TD>e-mail:</TD><TD><INPUT TYPE="TEXT" NAME="email" VALUE="@" SIZE=20 MAXLENGTH=100><BR></TD></TR>
<TR><TD>poΦet instalacφ:</TD><TD>
<INPUT TYPE="TEXT" NAME="pocet" VALUE="1" SIZE=6 MAXLENGTH=6><BR></TD></TR> </TABLE> <INPUT TYPE="SUBMIT" VALUE="Odeslat"> <INPUT TYPE="RESET" VALUE="Vymazat"> </FORM>
Po stisku tlaΦφtka Odeslat WebServer spustφ WinBase CGI klienta, kter² se p°ipojφ na databßzov² server ômoje_dbö, otev°e aplikaci ôanketaö a vykonß p°φkazy z konektoru, kter² je zadßn ve WBC sekci Üablony VSTUP.HTW (tzn. ₧e ve v²Üe uvedenΘ aplikaci existuje WWW objekt ôvstupö, kter² je typu Üablona), pou₧ije p°itom hodnoty zadanΘ do editaΦnφch polφ.
P°φklad 2:
Formulß° pro p°ihlßÜenφ (zadßnφ jmΘna a hesla), kter² je pot°eba, mß-li se zavΘst systΘm oprßvn∞nφ na ·rovni aplikace (na ·rovni serveru nelze, vÜichni se p°ihlaÜujφ jako __WEB), obsahuje nep°eklßdanΘ combo s nabφdkou jmen u₧ivatel∙ v aplikaci a editaΦnφ pole pro heslo.
<%WBC%> SQLStatement: LogNames + SELECT id, jmeno, heslo + FROM Logtable + ORDER BY jmeno <%/WBC%> <HTML> <HEAD>
<TITLE>P°ihlaÜte se:</TITLE>
</HEAD> <BODY>
<H1>P°ihlaÜte se:</H1>
<FORM ACTION="<%wb_url%>/next.htw" METHOD="POST"> <TABLE> <TR> <TD>Vyberte jmΘno:</TD> <TD><SELECT NAME="name"> <%begindetail LogNames%> <OPTION VALUE="<%jmeno%>"><%jmeno%> <%enddetail%> </SELECT></TD> </TR> <TR> <TD>Zadejte heslo:</TD> <TD><INPUT TYPE="Password" NAME="passw"></TD> </TR> </TABLE> <INPUT TYPE="Submit" VALUE="Odeslat"> </FORM> </BODY> </HTML>
P°φklad 3:
╚ßst Üablony obsahujφcφ listbox napln∞n² z Φφselnφku:
<%WBC%> SQLStatement: OkresList + SELECT nazevo, cisloo + FROM Okresy + ORDER BY nazevo SQLStatement: Kolik + SELECT Count(*) AS kol + FROM Reality <%/WBC%> <BR><BR> <B>Zadejte omezujφcφ podmφnky na v²b
∞r:</B><BR>
<BR> <HR WIDTH="60%" ALIGN="LEFT"> <FORM METHOD="POST" ACTION="<%wb_url%>/20.htw"> <TABLE WIDTH="70%"> <TR> <TD VALIGN="TOP">Typ:</TD> <TD><SELECT NAME="typ"> <OPTION VALUE="1">prodej <OPTION VALUE="0">pronßjem <OPTION VALUE="-1">oboje </SELECT></TD> <TD> </TD> <TD VALIGN="TOP">Okres:</TD> <TD><SELECT NAME="okr" MULTIPLE SIZE="3"> <%begindetail OkresList%> <OPTION VALUE=<%cisloo%>><%nazevo%> <%enddetail%> </SELECT></TD>
<TD>vyberte jeden nebo vφce okres∙</
TD></TR> </TABLE> <BR> Dnes je v nabφdce <%Kolik.kol%> nemovitostφ. <BR> <BR> <HR WIDTH="60%" ALIGN="LEFT"> <TABLE BORDER="0" WIDTH="60%"><TR> <TD WIDTH="50%" ALIGN="RIGHT"><INPUT TYPE="SUBMIT" VALUE="Vybrat podle zadßnφ"></TD> <TD WIDTH="50%" ALIGN="LEFT"><INPUT TYPE="RESET" VALUE="Reset zadßnφ"></TD> </TR></TABLE> </FORM>
P°φklad 4:
Formulß° mß mj. obsahovat checkbox pro editaci sloupce typu Boolean.
a) je t°eba zobrazit checkbox zatr₧en² Φi nezatr₧en² podle souΦasnΘho stavu:
<TR valign=top>
<TD VALIGN="TOP">Potvrzovat objednßvku mailem? </TD>
<TD>
<%if syspar.mailovat%>
<INPUT NAME="mailovat" TYPE="CHECKBOX" VALUE="dummy" CHECKED>
<%else%>
<INPUT NAME="mailovat" TYPE="CHECKBOX" VALUE="dummy">
<%endif%>
</TD>
</TR>
b) v nßslednΘm konektoru je t°eba reagovat na koneΦn² stav (poznß se podle dΘlky prom∞nnΘ MAILOVAT):
SQLStatement: upd
+ UPDATE Sys_par
+ SET `platnost_cen_od` = %platnost_cen_od%,
+ `mailovat` = (CASE WHEN CHAR_LENGTH("%?mailovat%")>0 THEN TRUE ELSE FALSE END),
+ `profil` = "%profil%",
+...
PokraΦovßnφ: