P005 SLUŽBY POČÍTAČOVÝCH SÍTÍ

Obsah

Prostřednictvím URL:
http://server:port/ path?search
Interaktivně pomocí formuláře:
<html>
<head>
<title>Databaze jmen</title>
<isindex>
<base href="cgi-bin/vyres-dotaz">
</head>
<body>
<h1>Databáze jmen</h1>
...
V záhlaví dokumentu se vypíše:
This is searchable index. Enter search keywords:
V Netscape lze v příkazu <isindex> atributem prompt zadat jiný text výzvy.

Implicitně se vygeneruje URL zdrojového dokumentu doplněné o zadaný prohledávací řetězec.

Explicitně lze URL změnit příkazem <base> a jeho atributem href.


<form>
Otevírá prostředí pro formátování formuláře. Ukončuje se </form>. Možné jsou tyto atributy:
action
určuje URL aplikace, která formulář zpracuje (typicky cgi-bin).
enctype
implicitně application/x-www-form-urlencoded (jiný podporovaný je prý pouze multipart/form-data - viz MIME).
method
zadává způsob zasílání dat formuláře serveru. Možné jsou dva:
POST
Nejprve se kontaktuje server určený atributem action a jakmile je kontakt uskutečněn, zasílají se data aplikaci (na standardní vstup aplikace).
GET
Prohlížeč data přidá do URL tak, že je uvede za znak '?' (implicitní způsob).
Způsoby zasílání jsou vždy určeny aplikací (zpravidla nelze zaměňovat). Co je vhodnější?
  • Nejrychlejší je posílat malé formuláře pomocí GET.
  • Pokud některé servery omezují délku příkazového řádku, použijeme POST.
  • Jsme-li začátečníci, použijeme GET.
  • Bezpečnější je POST (uživatel nevidí předávaná data).

<a href="http://www.xxx.yy/cgi-bin/update?x=27&y=33">



<form method=POST action="http://www.xxx.yy/demo">
  Name: <input type=text name=name size=32 maxlength=80>
  <p>Sex:
  <input type=radio name=sex value="M"> Male
  <input type=radio name=sex value="F"> Female
  <p>Income:
  <select name=income size=1>
    <option>Under $25,000
    <option>$25,001 to $50,000
    <option>$50,001 and higher
  </select>
  <p><input type=submit>
</form>

<input>
definuje vstupní pole uvnitř formuláře. Důležitý je atribut type, který specifikuje typ vstupního pole. Atributem align můžeme definovat zarovnání jinam, než nalevo.
type=text
<input type=text name=comments>
<input type=text name=zipcode size=10 maxlength=10>
<input type=text name=address size=30 maxlength=256>
<input type=text name=rate size=3 maxlength=3 value="100">

type=password

Podobně jako text, neopisuje se.

type=checkbox
<form>
  What pets do you own?<p>
  <input type=checkbox name=pets value="dog"> Dog<br>
  <input type=checkbox name=pets checked value="cat"> Cat<br>
  <input type=checkbox name=pets value="bird"> Bird<br>
  <input type=checkbox name=pets value="fish"> Fish
</form>
Lze vybrat i více položek současně.

type=radio

Podobně jako checkbox, vybrat lze právě jedno.

type=submit

Tlačítka:
<input type=submit>
<input type=submit value="Objednat">
<input type=submit value="Poslat letecky" name="doruceni">
Tlačítek podle posledního řádku může být i více (s různými hodnotami).

type=reset

Tlačítko vyvolá tentýž formulář pro nastavení počátečních hodnot.
<input type=reset>
<input type=reset value="Use Defaults">

tlačítka definovaná uživatelem
<input type=image src="pics/map.gif" name=map>
<input type=image src="pics/xmap.gif" align=top name=map>

type=hidden
<input type=hidden name=action value=change>
Ve formuláři se neobjeví, má význam pro předávání hodnot proměnných.

<textarea>

Editovací plocha. Příklad s počátečním naplněním:
Tell us about yourself:
<textarea name=address cols=40 rows=4>
Your Name Here
1234 My Street
Anytown, State Zipcode
</textarea>
Obsah se předává bez formátování, atributem wrap lze zapnout případné zalamování dlouhých řádků.

<select>
Výběr z nabídky:
What pets do you own?
<select name=pets size=3 multiple>
  <option>Dog
  <option>Cat
  <option>Bird
  <option>Fish
</select>
Není-li zadán atribut multiple, pak se povolí vybrat právě jednu volbu.

Příkazu <option> lze zadat atributy value (alternativní hodnota určující položku) a selected (v případě multiple předvybere označené položky).


Následující: Rady
Obsah

Michal Brandejs brandejs@informatics.muni.cz