Ako si spravit wwwlastnu stranku ?

alebo "Pomocka blazniveho webmastera" ;-)
posledna uprava november/1997 by VIX

Novinka! Formulare!




Vytvorenie formulara

Pre vytvorenie formulara musime urcit blok FORM:

FORM METHOD="post | get" ACTION="url://cesta/subor" [ENCRYPTED]

kde:

METHOD definuje metodu spracovania formulara (POST znamena, ze vysledok formulara sa nam posle ako mail,GET znamena, ze vystup formulara sa "prilepi" za cestu k dokumentu v tvare:
ACTION?premenna1=hodnota1&premenna2=hodnota2... a nastavia sa niektore environmentalne premenne, z ktorych najdolezitejsia je QUERY_STRING obsahuje ten isty vystup z formulara v tom istom tvare.

ACTION je tvaru "mailto:login@adresa" (ak pouzijeme POST) alebo ,alebo cestu k CGI, ktore pouzijeme na spracovanie vystupu formulara (ak pouzijeme GET). CGI musi byt napisane v niektorom z jazykov podporovanych nasim http-daemonom (shell, C, perl a ine, zalezi od programu).

ENCRYPTED urcuje, ze vysledok formulara bude posielany v kodovanom tvare (v praxi som este nepouzil - skuste sami alebo pockajte, kym to sem doplnim ;-)


Samotne polozky formulara definujeme tymito prikazmi (funguju len v bloku <FORM> </FORM>:

INPUT TYPE="typ" NAME="premenna" VALUE="hodnota" [CHECKED] SIZE="velkost" MAXLENGTH="maxvelkost"

MENO definuje meno polozky, ktore potrebujeme pri spracovavani vstupu v CGI. Je dobre si vsimnut, ze prepinace maju to iste meno, ak chceme hodnotu "prepinat" medzi jednotlivymi alternativami.

VALUE urcuje hodnotu polozky, ktoru si uchova a budeme ju moct spracovat CGI-ckom. Hodnota je bud "hodnota" alebo "on", ak ide o zaskrtavacie policko.

CHECKED ma vyznam pri prepinacoch a zaskrtavacich polickach a definuje nam policko ako "zaskrtnute" (vybrate).

SIZE urcuje velkost textoveho policka v znakoch na obrazovke

MAXSIZE urcuje maximalnu velkost vstupneho textu v policku (pre istotu poznamenam, ze ak velkost vstupu prekroci velkost definovanu "SIZE", text sa roluje, aby sme ho v policku videli)

Teraz si trochu konkretnejsie povieme o type polozky::

INPUT TYPE="TEXT" NAME="meno" VALUE="hodnota" SIZE="velkost" MAXSIZE="maxvelkost"

vytvori textove okienko (jeden riadok) s velkostou "velkost" znakov, pricom maximalny pocet znakov zadany v takomto okienku je "maxvelkost". Okienko je pomenovane "meno" a ak priradime hodnotu VALUE="hodnota", vypise sa do okienka ako implicitny text.
Po odoslani je hodnotou tejto polozky obsah okienka.

INPUT TYPE="PASSWORD" NAME="meno" SIZE="velkost" MAXSIZE="maxvelkost"

vytvori textove okienko s menom "meno" pre prijatie passwordu. Je to o tom istom, ako text, ale napisane znaky sa nezobrazuju (namiesto nich vidime hviezdicku '*').
Hodnotou tejto polozky je obsah okienka (ktory ale nevidime).

INPUT TYPE="CHECKBOX" [CHECKED] NAME="meno"

vytvori zaskrtavacie policko s menom "meno". Policko moze byt zaskrtnute alebo nie, ak chceme, aby bolo zaskrtnute implicitne, zadame aj parameter CHECKED.
Hodnota policka bude "ON", ak je zaskrtnute.

INPUT TYPE="RADIO" [CHECKED] NAME="meno" VALUE="hodnota"

vytvori prepinac. Prepinac pozostava z viacerych prikazov s TYPE="RADIO" s rovnakym menom. Zo vsetkych alternativ moze byt aktivna iba jedna. Tu implicitnu mozeme oznacit parametrom CHECKED.
Hodnotou tohto policka je "hodnota" toho prepinaca, ktory je aktivny v case odoslania formulara.

INPUT TYPE="SUBMIT" VALUE="text"

vytvori odosielacie tlacidlo formulara. Tlacidlo bude oznacene napisom "text", pokial nezadame ziaden, dosadi sa "Submit". Po odoslani formulara sa riadenie preda programu podla parametra ACTION prikazu FORM.

INPUT TYPE="RESET" VALUE="text"

vytvori resetovacie tlacidlo formulara s napisom "text" alebo "Reset", ak nezadame hodnotu parametru VALUE. Toto tlacidlo po stlaceni nastavi implicitne hodnoty vsetkych poloziek formulara.

Ak chcete zadavat komentare alebo vacsie textove polozky, moze sa vam hodit:

TEXTAREA NAME="meno" ROWS="r" COLS="s"

ktory vytvori textove okienko.

NAME nam urcuje meno tohto okienka (ako ste si iste domysleli)

ROWS a COLS urcuju velkost okienka (riadky, stlpce) v znakoch

Tento prikaz je blokovy. Cokolvek je medzi zaciatkom a koncom prikazu TEXTAREA, berie sa ako implicitny text, ktory sa vypise do okienka.

Priklad formulara s komentarom: (tu klikni pre vysledok)

<FORM ACTION="/cgi-bin/vix/formreply" METHOD="get" >
Ako si sa dozvedel o tejto stranke? (prepinac)
<P>
<INPUT TYPE="radio" NAME="ako" VALUE="nahodou"> nahodou
<BR>
<INPUT TYPE="radio" CHECKED NAME="ako" VALUE="odkaz"> odkazom z inej stranky
<BR>
<INPUT TYPE="radio" NAME="ako" VALUE="kamos"> od znameho

<P>
Paci sa ti tato stranka? (zaskrtavacie policko)
<P>
<INPUT CHECKED TYPE="checkbox" NAME="ak_sa_ti_paci" VALUE="paci_sa_mi"> Ano
<P>
<INPUT TYPE="checkbox" NAME="ak_sa_ti_paci_velmi"
VALUE="paci_sa_mi_velmi"> Aj toto policko sa mi paci!
<P>
Sem mozes napisat komentar k stranke: (textove pole TEXTAREA)
<P>
<TEXTAREA ROWS="10" COLS="32" NAME="komentar">
Implicitny text
</TEXTAREA>
<P>
Sem sa mozes podpisat, alebo nechat "guest" ak chces ostat
anonymny: (textove pole) <P>
<INPUT TYPE="text" NAME="odosielatel" VALUE="guest">
<P>
<INPUT TYPE="submit" VALUE="Poslat!"> (odosielacie policko)
<P>
<INPUT TYPE="reset" VALUE="Zrusit!"> (resetovacie policko)
</FORM>

Pre pripad, ze by ste takyto formular odoslali (Submit) bezo zmeny, metodou GET by boli CGI-cku poskytnute taketo udaje:


http://fornax.elf.stuba.sk/cesta/htmlhelp.html?ako=nahodou&komentar=Implicitny+text
&odosielatel=guest



Frames (ramceky)

Okrem dokumentov, ake sme si popisali, existuju aj take, ktore pouzivaju ramceky - frames. Takyto dokument je potom na obrazovke zobrazeny vo viacerych okienkach, pricom v kazdom mate iny dokument.

Taketo dokumenty sa vytvaraju prikazom

FRAMESET ROWS|COLS="velkost,velkost"

ROWS nam rozdeli okno na dve casti pod sebou (akoby dva velke riadky, z toho pomenovanie rows)

COLS zasa rozdeli okno na dve casti vedla seba (a z toho vyplyva aj nazov stlpceky - col(umn)s)

Hodnota je uvedena ako dve velkosti oddelene ciarkou, kazda z nich vyjadruje velkost okna nam zabezpeci, ze nase dve okienka budu mat zadanu velkost bud v bodoch alebo percentach velkosti stranky.

Este jedna zaujimavost: ak si chceme vytvorit jedno okno, ktore ma urcitu velkost a druhe bude zaplnat zvysnu cast priestoru, napiseme namiesto jeho velkosti znak * (hviezdicka)

Teraz si ukazeme, ako do takto vytvorenych okien nahrame dokumenty:

FRAME SRC="cesta/subor" NAME="meno" NOSCROLL NORESIZE

SRC je ako vidite, subor, pripadne s cestou, ktory sa ma do okna nahrat. Nemusi to byt len .html subor, v praxi sa casto stretnete s tym, ze si do okienka nahrate obrazok.

NAME nam pomenuje okno. To je dolezite pri pouziti prikazu <A HREF..>

NOSCROLL nam, ak ho napiseme, zabrani vytvoreniu pretacacich pruhov na okraji obrazovky, ak sa obsah dokumentu vojde do okienka.

NORESIZE, ak ho napiseme, zabranuje uzivatelovi zmenit velkost okna pomocou mysi

Nie kazdy moze vo svojom prezeraci vidiet ramceky, napriklad, ak pouziva textovy browser. Na tieto ucely existuje prikaz

NOFRAMES

V tomto bloku napisete dokument, ktory sa ma vypisat, ak dotycny nemoze vidiet frames.

A teraz konecne priklad:
<HTML>
<TITLE>Priklad pre FRAMES</TITLE>
<FRAMESET COLS="50%,*">	(casti budu vedla seba, kazda zabera 1/2)
<FRAME SRC="example3.html" NAME="menu" NOSCROLL> (prve okno sa vola menu)
<FRAME SRC="example4.html"  NAME="text"> (...druhe text)
</FRAMESET>
<NOFRAMES>
Sem napisete, co chcete, aby sa napisalo, ak moj prezerac nepodporuje
ramceky ...
</NOFRAMES>
</HTML>
Tu kliknite, ked si chcete pozriet vysledok

A teraz priklad pre ROWS:
<HTML>
<TITLE>Priklad pre FRAMES</TITLE>
<FRAMESET ROWS="50%,*">	(casti budu pod sebou, kazda zabera 1/2)
<FRAME SRC="example3.html" NAME="menu" NOSCROLL> (prve okno sa vola menu)
<FRAME SRC="example4.html"  NAME="text"> (...druhe text)
</FRAMESET>
<NOFRAMES>
Sem napisete, co chcete, aby sa napisalo, ak moj prezerac nepodporuje
ramceky ...
</NOFRAMES>
</HTML>
Tu kliknite, ked si chcete pozriet vysledok

To este zdaleka nie je vsetko. Prikazy FRAMESET mozete pouzivat viacnasobne, vnorene, takze mozete uz rozdelene bloky delit na dalsie!

Jednoduchy priklad:
<HTML>
<TITLE>Priklad pre FRAMES</TITLE>
<FRAMESET ROWS="50%,*">	(casti budu pod sebou, kazda zabera 1/2)
<FRAME SRC="example3.html" NAME="menu" NOSCROLL> (prve okno sa vola menu)
<FRAMESET COLS="25%,*"> (teraz spodne okno zasa rozdelime!)
<FRAME SRC="example3.html"  NAME="text1"> (na okno text1)
<FRAME SRC="example4.html"  NAME="text2"> (a text2)
</FRAMESET>
</FRAMESET>
<NOFRAMES>
Sem napisete, co chcete, aby sa napisalo, ak moj prezerac nepodporuje
ramceky ...
</NOFRAMES>
</HTML>
Tu kliknite, ked si chcete pozriet vysledok

Abecedny zoznam prikazov a parametrov HTML (NS GOLD 3.00)

N/A


Problemy


  • Spravil som si na skusku dokument, dokonca aj celkom prazdny, ale prehliadac hlasi chybu a nic nevidim
    Ulozili ste subor? Ulozili ste ho do spravneho adresara? Mate nastavene pristupove prava? (citaj neskor) Je Vas WWW-server v poriadku?


  • Prehliadac nehlasi chybu, ale aj tak nic nevidim... Mate nastavene rovnake farby pre pozadie aj text ;-) alebo nemate ulozeny prazdny startovny subor (index.html)... Pripadne skuste zmazat cache v NetScape (v lynxe prepinac "-reload")


  • A ako pisem text, ktory chcem vypisat?
    Jednoducho, vsetko, co nie je uzavrete v < a > sa vam vypise ako text. Samozrejme, tento text si mozete upravit. Najlepsie bude, ak si pozriete prikazy HTML usporiadane tematicky...


  • Ako si dam na stranku obrazky?
    Jednoducho. Na miesto v dokumente, kde chcete vlozit obrazok, napisete prikaz <IMG SRC="subor" ALIGN="zarovnanie" ALT="nahradny text"> Pozrite si prikaz IMG


  • Napriek mojim zmenam stranky sa pri prezerani zmeny neprejavuju.
    Skontrolujte nastavenia cacheovania dokumentov (v NetScape Memory & File cache), ak idete z lynxu, prepinac "-reload". Stranky su casto ukladane na proxyserveri, ktory vam ponuka starsie verzie...


  • Robi si to co chce, vobec sa mi neprejavuje ucinok prikazu...

  • Mate preklep v prikaze - prejdite si dokument a hladajte. Prehliadac vas na chybne prikazy neupozorni, len ich nebude vykonavat. Skontrolujte nielen samotne prikazy, ale i parametre. Priklad pekneho preklepu je <LU> namiesto <UL> a moze sa vam stat, ze to budete hladat velmi dlho...

  • Chyba zaciatok alebo koniec prikazu. Ak prikaz neskoncite, obycajne ma platnost do konca suboru, ale neda sa na to spolahnut. Ak prikaz skoncite skor, ako ste ho zacali, obycajne nerobi nic. Skontrolujte pomaly cely dokument alebo cast, v ktorej "to musi byt".
    Priklad:
    <HTML>
    <BODY>
    ..
    <CENTER>
    text...
    ..
    toto nema byt centrovane
    </BODY>
    </HTML>
    
    Zabudli sme ukoncit prikaz <CENTER>

  • Chyba znak "/" v oznaceni konca prikazu.
    Priklad:
    <HTML>
    <BODY>
    ..
    <CENTER>
    text...
    ..
    <CENTER>
    toto nema byt centrovane, ale mozes vziat jed na to, ze bude
    </BODY>
    </HTML>
    

  • Prikaz ste "ukoncili" inym prikazom.
    Priklad:
    <B>toto pismo je tucne</I>
    a toto uz nie.
    
    Tucne pismo sme ukoncili koncom prikazu pre kurzivu. Aj tieto chyby sa tazko hladaju, ak mate vela textu, ako v tomto dokumente...


  • Ako prejdem na inu stranku/dokument/subor/sluzbu?
    Prechod sa robi pomocou odkazov na iny dokument/subor/sluzbu.
    Prechod na iny dokument:
    <A HREF="URL">meno linky</A>
    URL je bud meno suboru (.html), ak treba, urcite aj cestu.
    Subory, ktore chcete vo svojej stranke pouzivat, by ste mali mat v adresari spolu so strankou (alebo v jeho podadresaroch). Adresar vasej stranky je totiz pre prezerac hlavnym adresarom.
    Ak chcete prechod na inu sluzbu INTERNETu (ftp, gopher, http, news, telnet, wais), musite specifikovat jej typ.
    Priklad:
    http://adresa/alebo http://adresa/subor.html
    ftp://adresa/cesta/subor
    telnet://adresa[:port]
    


  • Urobil(a) som si stranku, ale prehliadac mi vypisuje chybu...
    Podla vypisu chyby vylucte moznost chyby servera. Ak prezerac vypisuje "File not found", asi mate niekde napisany odkaz na neexistujuci subor. Ak je "Permission denied", mate zle nastavene pristupove prava k suborom/adresarom.
    Prezerac sa totiz k vasej stranke dostane, len ak mate korenovy adresar, adresar so strankou a vsetky ostatne medzi nimi, ak nejake su, povolene na vykonanie a citanie, cize vo vypise adresara vyzeraju:
    drwxr-xr-x (chmod 755 meno_dir)ak ide o adresar, resp.
    rw-r--r-- (chmod 644 meno_fajlu) ak ide o subor.
    Vo vlastnom zaujme si nenechavajte nastavene atributy pre zapis (okrem seba). Mohli by ste sa cudovat, ze vam niekto nici stranku...


    Ked sa vam nejaka stranka zapaci a xceli by ste vediet, ako bola urobena, nic vam nebrani pozriet si jej zdrojovy text (v textovom prehliadaci stlacenim \ a v grafickom View Source). Mozete sa tak dozvediet vela zaujimaveho.

    V pripade nejasnosti posielajte otazky a komentare na webmaster@fornax.elf.stuba.sk (VIX).

    Myslim, ze tento subor by vam mal pomoct k vytvoreniu prvej vlastnej stranky. Budte ale pripraveni na to, ze to poziera vela casu, najma, ak sa tomu chcete venovat seriozne.

    Ak vam mozem poradit ako "webmaster", zamerajte sa skor na obsahovu stranku vasej stranky, ako na mnozstvo obrazkov zo siete, ktore sa ak tak natahuju velmi dlho. Tym nechcem povedat, ze si mate robit textove stranky, ale nezabudnite, ze nie kazdy pouziva graficky terminal a preto skuste svoju stranku obcas pozriet aj v textovom mode a pripadne ju upravit.

    Tento text nepredstavuje preklad HTML manualu, ale to, co som zistil, odskusal a snazil sa napisat tak, aby ste to mohli odskusat Vy. Ak vam tento dokument pomohol, nebolo to zbytocne.

    Vacsina prikazov bola zistovana priamo prezeranim binarky NetScape a testovanim prikazov. Niektore casti boli odskusane na zaklade dokumentacie HTML od anonymneho autora.

    Ak potrebujes tento manual pouzit na iny ucel ako samostudium, mailni mi prosim, alebo aspon uved niekde moje meno (nick). Dakujem...

    Hlavne menu
    Hlavna stranka fornax.elf.stuba.sk


    (c) Ivan "VIX" Noris, 1996-1997, All rights reserved ;-)