Elektronické publikování

Transkript

Elektronické publikování
1.
Základy tvorby Webových stránek
Struktura dokumentu
Psaní textu, nadpisy, odstavce
Aby se webová stránka zobrazila prohlížečem (Microsoft Explorer, Netscape navigator..), musí být napsána
v jazyce HTML, nověji XHTML (podrobnosti dále), jehož pravidel se budeme držet. Prohlížeč pak umí podle
pokynů tohoto jazyka zobrazit obrázky, text, tabulky.
Hypertext MarkUp Language užívá značky<>, kterým se říká tagy. Tagy mají vlastnosti –atributy.
Dokument HTML je textový dokument, který si můžeme prohlížet i upravovat v textovém editoru.. Je mnoho
programů pro usnadnění tvorby WWW stránek – Golden HTML Editor, Homesite, aj až po Wysiwyg software
typu FrontPage.
Párové tagy (většina) např. <b> text uvnitř se zobrazí tučně.</b>
<p> odstavec </p>
<h1> nadpis 1. úrovně </h1>
Samostatné tagy < /hr> oddělovací čára
Atributy se uvádějí dovnitř tagu, většina vlastností objektů se nastavuje pomocí tzv, kaskádových stylů
(podrobnosti dále)
<p align=”center”>text odstavce bude zarovnán doprava </p>
Pravidla:
Užíváme jednoduchý editor – např. Poznámkový blok, abychom se zbavili nadbytečných formátovacích znaků.
Dokumenty mají příponu HTM nebo HTML.
Grafika je pouze doplněk, nejdůležitější je vždy obsah. (Velké barevné obrázky a multimediální prvky mohou
podstatně zpomalit načítání stránek)
Tagy lze vnořovat, dodržujeme přitom, aby se nekřížily.
(<p><b> xxxxxxxxxxxxxx</b></p>
Chybně zapsané tagy a příkazy prohlížeč ignoruje.
Tip: Pro psaní znaků < > používejte kombinaci kláves pravý ALT+<>
Dále:
Snažte se, aby stránky měly co nejmenší velikost a co nejkratší dobu načítání .
Mějte vždy stránky zálohované pro případ selhání serveru a následné ztráty dat.
Zásadně používejte standardní fonty (Arial, Verdana, Courier, Courier New, Helvetica, Times a Times New
Roman).
Používejte malá písmena v názvech souborů, obrázků a odkazech. Některé servery rozeznávají malá i velká
písmena.
Rozvrhněte si adresářovou strukturu webu pro přehlednost. Třiďte grafiku a informace do odlišných adresářů.
Nestahujte grafiku z cizích stránek a nepoužívejte je na svých. Snažte si vytvářet vlastní grafiku.
Co přinesou stránky návštěvníkovi? Zvažte, pro koho jsou stránky určeny a co udělat, aby se návštěvník vrátil.
Stránky aktualizujte!
Stránky vytvářejte i pro rozlišení 800x600.
Po každé změně si stránky prohlížejte v Internet Exploreru a Netscape Navigatoru.
Obrázku VŽDY připisujte parametry velikosti! Předejdete tak rozházení stránky před načtením obrázků.
Používejte svojí fantazii :-)
Struktura dokumentu
Pravidla pro XHTML
Zvláště pro ty, kteří znají HTML
Jména značek se píší malými písmeny
Vnořené značky musí být ve správném pořadí
Každá otevřená značka musí být uzavřena, takže ukončování značek je povinné.
Párové tagy: <p>…</p>
Nepárové tagy <br />, <hr />
1
PDF vytvořeno zkušební verzí pdfFactory Pro www.fineprint.cz
Hodnoty atributů musí být v uvozovkách (včetně číselných)
Místo atributu name jako identifikátoru objektů na stránce se doporučuje používat atribut id.
<?xml version="1.0" encoding=“windows-1250"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtm11-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
−
tzv. preambule
deklarace verze XML, kódování − nepovinný řádek
DTD − typ dokumentu (obsahuje seznam všech prvků a atributů, které je možné v dané verzi XHTML
použít
−
jazyk XHTML 1.0 definuje tři typy dokumentů:
−
Strict (přesné) − nepodporuje tzv. zapovězené značky a rámy, k formátování písma vyžaduje kaskádové styly
−
Transitional (přechodné) − umožňuje snadný přechod od HTML dokumentů k XHTML − podporuje tzv.
zapovězené značky, nepodporuje rámy, nevyžaduje kaskádové styly
−
Frameset (rámcové) − jde o přechodný typ rozšířený o možnost použití rámců
−
začátek XHTML dokumentu − atribut xmlns specifikuje tzv. jmenný prostor (namespaces) − jedná se o
názvy všech použitelných značek a jejich atributů založený na HTML 4.01.
−
Podobně </html> ukončuje XHTML dokument
<head >
<title> Titulek </title>
<meta http-equiv="Content-Type" content="text/html";
</head>
−
charset="windows-1250">
hlavička dokumentu − další informace k dokumentu, titulek (popisek) stránky (title), kódování (pro
starší prohlížeče)
<body>
<h1 >Nadpis</h1>
<p><b><h2 >Struktura XHTML dokumentu</h2></b></p>
<p><h3>Základy formátování textu</h3></p>
<p> </p>
<hr />
</body>
</html>
−
tělo XHTML dokumentu − vkládá se sem obsah stránky, která má být vidět v prohlížeči
<html>...</html> vymezuje celý HTML dokument a <body>...</body> tělo dokumentu. <head>...</head> je
hlavička dokumentu, která obsahuje titulek stránky – <title>...</title>. Je vhodné používat co nejkratší titulek
(max. 20 znaků). Většinu zdrojového kódu budeme psát mezi tagy BODY.
Titulek volíme výstižný, jednak se zobrazuje na titulní liště prohlížeče, jednak se používá např. k ukládání
oblíbených stránek.,
2
PDF vytvořeno zkušební verzí pdfFactory Pro www.fineprint.cz
Poznámka k dalšímu textu: Abychom mohli oživit naše první stránky, uvádíme i některé atributy, které později
budeme důsledně nahrazovat kaskádovými styly.
<body>
<body background=”obr.gif”> -použije obrázek jako tapetu dokumentu
<body bgcolor=”green”> barva pozadí
<body text=”white”> barva textu
Barvy: můžeme buď používat barevné konstanty nebo si míchat barvy sami pomocí RGB modelu
s užitím hexadecimální číselné soustavy
Např #0000FF je modrá, #FF00FF fialová <BODY text=”#FFFFFF”>
Nebo pomocí funkce rgb(x,y,z)
Kde x,y,y vyjadřují podíl červené, zelené a modré barvy v celách číslech mezi 0 a 255.
Psaní textu, nadpisy, odstavce
Nadbytečné mezery a prázdné řádky prohlížeč vynechává.
<br>
zalomení řádku
<p>…….< /p> -začátek a konec odstavce – před odstavcem mezera
<h1>…</h1> -nadpisy první až šesté úrovně
…
<h6>…</h6>
Atributy těchto značek:
<p align=”right”>-zarovnání odstavce doprava – podobně u nadpisu
Align=”left”, Align=”center” vlevo, na střed. Zarovnání vlevo je implicitní.
Align=”justify” – do bloku
Druhy písma:
<b>……< /b> - text mezi tagy bude tučně
<i>……..< /i> -kurzíva
<u>……..< /u> -podtržení
<s>……..< /s> -škrtnuté (strike)
<tt>……..< /tt>-s pevnou šířkou (Courier)
<big>……..< /big> velké
<sub>……..< /sub>dolní index
<sup>……..< /sup>horní index
<small>……..</ small> malé
Logické zvýraznění textu je (zvýraznění je závislé na prohlížeči
<em> </em> − většinou výsledkem je kurzíva
<strong> </strong> − tučné zvýraznění
Font – umožňuje nastavit velikost, barvu a typ písma. (s typem opatrně)
<font size=4 color=”red” face=”ARIAL”>…..</Font>
size – velikost v pt
color – barva
face – typ fontu
<div>
značka pro zarovnání více odstavců zároveň
<div align=”center”>
<p>XHTML</p>
<p>Tvorba WWW stránek</p>
<p>Zarovnání textu</p>
</div>
zalomení řádku
<br />
&nbsp; − pevná mezera
3
PDF vytvořeno zkušební verzí pdfFactory Pro www.fineprint.cz
Oddělovací čára
< /hr>
Lze používat atributy size (tloušťka) 1-10 bodů, width (šířka v bodech nebo procentech šířky stránky) noshade
(pokud nechceme stín), color (barevná čára ale stín nemá) a align.
< /hr size=5 width=50% align=”center”>
Praxe
Zdrojový text nejprve napíšeme v Poznámkovém bloku a uložíme s příponou htm. Otevřeme v Exploreru a
chceme-li upravovat, použijeme např. kontextové menu –(pravá myš kdekoliv v dokumentu) a zobrazíme
zdrojový text. Před opětným prohlížením je třeba zdrojový text uložit a stránku v prohlížeči aktualizovat. (Znovu
načíst)
Komentáře: pokud chceme do dokumentu vložit poznámky, které by se nezobrazovaly, vložíme je do
následujících závorek:
<!-- nnnnnnnnnn
nnnnnnnnnnn
-->
2.
Obrázky
Seznamy
Obrázky
Jako zdroj používáme komprimované obrázky (gif, jpg). JPG mají užívají větší kompresi (jsou menší), formát
GIF umí průhledné pozadí, případně postupné zaostřování obrázku při načítání. (Lze připravit např. ve
fotoeditoru). Můžeme použít i animované gify.
<img src=”obr.gif” alt=”text” width=”100” height=”100”>
src – umístění obrázku
alt – nápovědný text – rozhodně uvádíme, není vždy nutné obrázky zobrazovat (urychlení načítání, pro zrakově
postižené text může být zobrazen zvukově)
Další atributy (nepovinné)
align =“top“– zarovnání, rp. umístění grafiky vůči okolí
Pokud nepoužijeme přesné rozměry obrázku, riskujeme rozházení stránky při zobrazení v konkrétním prohlížeči.
Hodnoty:
top
horní okraj grafiky bude zarovnán s horním okrajem řádku
middle
střed grafiky zarovnán na účaří řádku (přibližně prostředek)
bottom
dolní okraj bude zarovnán se spodním okrajem řádku
left
levý okraj grafiky na levý okraj řádku, text obtéká grafiku zprava
right
texttop
horní okraj zarovnán s horním okrajem textu na řádku
absmiddle
střed grafiky na střed řádku
baseline dolní okraj na účaří řádku
absbottom
dolní okraj se spodním okrajem řádku
width =“100“ požadovaná šířka, Říká prohlížeči, jak je obrázek velký, takže nedochází k deformaci při načítání.
Než obrázek na stránky vložíme, zjistěte si v nějakém grafickém editoru, jaké má přesné rozměry. Tyto atributy
můžeme také používat ke zvětšování a zmenšování obrázků. Pokud zadáme větší rozměry obrázku, obrázek se
sice zvětší, ale jeho kvalita je vůči jeho původní velikosti horší. Proto přenecháme zvětšování a zmenšování
obrázků grafickým editorům
height =“200“ – výška
Pokud je šířka a výška v procentech, přizpůsobí rozměry obrázku stránce, případně tabulce, v pixelech naopak.
vspace=“10“ – určuje kolik místa bude vynecháno kolem grafiky ve svislém směru
(vertikální odsazení)
hspace=“10“ – horizontální odsazení
4
PDF vytvořeno zkušební verzí pdfFactory Pro www.fineprint.cz
border=“5“ – šířka rámečku (hlavně když se používá obrázek jako hyperlink)
Poznámka: Pro přesné umístění grafiky do textu podle našich představ je třeba použít tabulku nebo pozicování
v kaskádových stylech.
Seznamy
Seznamy s odrážkami
<ul type=“disc“>
<lh> záhlaví seznamu – nemusí být</lh>
<li> 1.položka </li>
<li> 2.položka </li>
….
</ul>
Typ odrážky TYPE= “circle”, “square”
Seznamy lze vnořovat.
Číslovaný seznam
<ol type=”a” start=”počáteční hodnota“ align="right">
<lh> záhlaví seznamu – nemusí být </lh>
<li> 1.položka </li>
<li> 2.položka </li>
….
</ol>
Typy číslování: “a” – malá písmena
“A” – velká
“i” - římské číslice malé
“I”velké
“1” – arabské číslice
continue – číslování navazuje na předchozí číslovaný seznam (při přerušení např. obrázkem)
start – počáteční hodnotu uvádíme vždy jako číslo
Typ, případně hodnotu lze uvádět i u jednotlivých položek
<li type=”disc”>
<li value=”3”>
Definiční seznamy jsou odlišné od předchozích dvou. Můžeme s ním vytvořit např. slovníček pojmů, který
obsahuje termíny a jejich vysvětlení. Uvozuje se tagem <dl> a jednotivé položky pak <dt> a <dd>
<dl>
<dtT>název 1
<dd>text
<dt>název 2
<dd>text
</dl>
3.
Hypertextové odkazy
Multimédia
Hyperlinky
Hypertextové odkazy mohou vést na:
• Jinou stránku
• Jinou pozici téže stránky (záložka)
• Jiný dokument (obrázek, soubor, program…)
5
PDF vytvořeno zkušební verzí pdfFactory Pro www.fineprint.cz
Jako odkazovací prvek se dá použít text, obrázek a další objekty.
<a href=”adresa”>odkaz</a>
Adresa:
Adresa dokumentu na témže počítači – je bezpečnější uvádět ji absolutně a dokumenty vhodně umísťovat do
složek vzhledem k HTML dokumentu, při kliknutí lze rozhodnout, zda se dokument otevře nebo stáhne
(“C:\obrazek.gif”)
Internetová adresa (http://www.seznam.cz)
Pokud potřebujeme vytvořit odkaz, který by zajišťoval stažení nějakého souboru, do URL uvedeme přesnou
adresu, kde se soubor nachází.
<a href="http://www.odkaz.cz/soubor.zip">soubor.zip</a>
•
Odkaz na jiné místo téhož dokumentu: Místo nejprve označíme
<a id=”aktualizace”> bla bla bla </a>
……………………………………………………….
<a href=”#aktualizace”>HOP</a> -při kliknutí na link HOP se skočí na červený text bla bla bla
Obrázek jako odkaz
Grafická tlačítka apod.
<a href=“adresa“><img src=”obr.gif” width…..align….></a>
Galerie obrázků – několik malých obrázků – odkazů, při kliknutí na ně se zobrazí v původní velikosti. Aby se
odkazy nenačítaly příliš dlouho, připravíme si pro ně přiměřeně zmenšené původní obrázky – skicy.(thumbnails)
Poznámka: Také čára může obsahovat grafiku -<hr src=”obr.gif”>
Vkládání multimediálních prvků
Užíváme minimálně, veškerá multimédia na internetu velmi zpomalují načítání.
Video
<img dynsrc=”jmeno.avi”> Video pracuje s formáty .avi,.mov, mpeg. Lze požít atribut loop=číslo, který udává,
kolikrát se má video přehrát. Výhoda – nevolá se externí přehrávač
Nebo
<a href=”jmeno.avi”>video</A> přehraje se při aktivaci odkazu
Zvuk
Do hlavičky dokumentu
<head>…
<bgsound src=”tryskac.wav” loop=3>přehraje se automaticky třikrát
</head>
Nebo
<a href=”tryskac.wav”>tryskáč</a> přehraje se při aktivaci odkazu – ale uživatel musí mít instalován program
pro prohlížení videa
Běžící text
<marquee direction=“right“ behavior=“scroll“ scrollamount=10 scrolldelay=200> utíkám doprava</marquee>
Mezi tagy marquee lze umístit i obrázek.
Direction – směr, scrolldelay – rychlost (přesněji pomalost)
Barvu odkazu, navštíveného a aktivního odkazu můžeme uvést uvnitř tagu body:
<body link=“barva“ vlink=”barva” alink=”barva”….>
6
PDF vytvořeno zkušební verzí pdfFactory Pro www.fineprint.cz
4.
Tabulky
Používají se kdekoliv chceme dosáhnout přesného grafického uspořádání textu, obrázků a dalších prvků na
stránce. /Jinak lze téhož dosáhnou pozivováním v CSS)
<table >začátek tabulky
<th> hlavička tabulky – nepovinná, prohlížeč ji zpravidla odliší </th>
<tr>
začátek řádku
<td> obsah buňky </td> <td> obsah buňky </td> <td> obsah buňky (</td> je nepovinná)
</tr>
konec řádku
……
</table>
ukončovací tag tabulky
Atributy:
<table>
<table border=“3“ width=“50%“ height=“50%“ bgcolor=”red” align=”left” cellspacing=“2“
cellpadding=“4“ frame=”above”>
border – tloušťka rámečku (vnějšího obrysu), pokud chybí – bez rámečku
bgcolor – barva pozadí, pokud není specifikováno, je tabulka průhledná
width – šířka tabulky (v pixelech nebo procentech aktuálního okna)
height – výška
cellspacing – velikost mezery mezi jednotlivými buňkami
cellpadding – velikost mezery mezi okrajem buňky a jejím obsahem
frame – způsob zobrazení vnějších obrysů tabulky
none – žádný obrys (implicitně)
above, bellow jen horní (dolní) strana
hsides horní a dolní
lhd,rhs (jen levá a jen pravá)
vsides (levá a pravá)
border – všechny čtyři strany
Další možnosti: cols=počet sloupců tabulky (napomáhá prohlížeči počáteční rozvržení), colspec=“L8 C20 R50“
–specifikuje šířky a zarovnání jednotlivých sloupců
Rules=“rows“ – vzhled tabulkové mřížky (none –žádné, rows –čáry mezi řádky, cols –čáry mezi sloupci, all –
všechny čáry (implicitní), groups –vodorovné čáry mezi skupinami (THEAD,TFOOT,TBODY)
<tr> <td><th>
<tr align =“left“ valign=“bottom“ bgcolor=”blue”
align – zarovnání – left,right,center, justify, char (zarovnání na znak, implicitně des.tečka nebo
čárka –char= znak, na který se bude zarovnávat)
valign –zarovnáni ve svislém směru –bottom, top, middle, baseline
bgcolor – barva pozadí
<td> a <Tth mají navíc další aributy:
<td nowrap width=30% colspan=2 rowspan=2>
nowrap – potlačuje automatické dělení řádků uvnitř buňky
width – šířka
colspan – počet sloučených sloupců
rowspan – počet sloučených řádků
Poznámky:
Tabulka může mít obecnější strukturu:
<TABLE>
<CAPTION> nadpis tabulky <CAPTION>
<COLGROUP>
<COL> -specifikace společných vlastností skupiny sloupců
</COLGROUP>
7
PDF vytvořeno zkušební verzí pdfFactory Pro www.fineprint.cz
<THEAD> záhlaví tabulky </THEAD>
<TFOOT> zápatí </TFOOT>
<TBODY>
<TR>……
</TBODY>
</TABLE>
Příklady:
<table border=”2” width=”60%” >
<tr>
<td> 11
<td>12
</tr>
<tr>
<td> 21
<td>22
</tr>
</table>
<table border=”3” width=”60%” >
<tr>
<td> 11
<td rowspan=2>12<br />22
</tr>
<tr>
<td>21
</tr>
<tr>
<td colspan=2> 31 32
</tr>
</table>
5.
Kaskádové styly – úvod,
vlastnosti písma
Vývoj HTML si postupně vynutil vytvoření samostatného nástroje pro grafickou úpravu stránek – kaskádové
styly – CSS. (Cascading Style Sheets). Jsou založeny na textovém formátu.
Umožňují definovat způsob zobrazení (druh a velikost písma, zarovnání atp.) každého prvku na stránce. Styl
přitom není přímo součástí textu stránky a tak může být jednak zápis stránky přehlednější, jednak se píše
pohodlněji a rychleji a připravený styl se dá použít pro víc dokumentů.
Definice stylu
Styl se skládá vždy alespoň z jednoho pravidla.
Příklad definice stylu:
h1 {color:blue} (modré písmo nadpisu 1. úrovně)
Pravidlo má dvě části:
Selektor (h1 – o který prvek se jedná) a deklaraci, která obsahuje vlastnost (color)a její hodnotu (blue).
Selektor může být libovolný prvek HTML, některé vlastností uvedeme dále.
Připojení stylu k dokumentu
Je možné styl definovat přímo pro konkrétní prvek pomocí atributu style, ale tento způsob zcela likviduje
výhody práce s kaskádovými styly, proto ho používáme jen ke změně stylů výlučných elementů.
Příklad: <p style = “color: blue “>text odstavce </p>) (modré písmo odstavce)
Další možnostu:
1. V záhlaví dokumentu pomocí kontejneru <style>
<style type=”text/css”> ….</style>
8
PDF vytvořeno zkušební verzí pdfFactory Pro www.fineprint.cz
2.
Uložení definic stylu v samostatném souboru s doporučenou příponou .CSS (Připravíme např.
v Poznámkovém bloku); v tomto případě musí být uložení definice ve stránce oznámeno prostřednictvím
značky <link>
<LINK rel=”StyleSheet” href=”JmenoSouboru.css” type=”text/css”>
Tento způsob je zvlášť výhodný, když potřebujeme, aby víc dokumentů mělo stejný vzhled.
3. Externí styl volaný z dokumentu CSS
<style type=”text/css”>
<!-toto je komentář v html
@import url(“priklad.css”);
h1 {color: green}
-->
konec komentáře
priklad.css je externí soubor se stylem
Slučování definic
Pro několik selektorů lze použít tutéž deklaraci, také několik deklarací lze sloučit, pak se oddělují středníkem.
h1, h2, h3 {color: red}
P < font-size: 12 pt; font-family: sans-serif;>
Dědění vlastností
Pokud uvnitř jednoho elementu použijeme druhý, pokud nepředepíšeme jinak, předdefinovaná vlastnost se dědí.
<h1> Tohle je<em>opravdu</em> důležité.</h1> (Tag em se používá pro zvýraznění implicitně kurzívou) –
celý text bude mít barvu definovanou pro styl <h1>
Chceme-li natsavit nějakou vlastnost pro celý dokument, použijeme element <body>
body {color:pink; background-color:black} (barva písma a barva pozadí)
Některé vlastnosti písma
Font-family
Druh písma. Pozor – nejvýš dva druhy písma v jednom dokumentu, jinak dostáváme oživení ma úkor
přehlednosti.
Většinou vystačíme s obecnou rodinou.
• serif (patkové, dobře čitelné z papíru)
• sans-serif (bezpatkové, vhodné pro obrazovku)
• monospace (neproporcionální)
• fantasy (dekorativní)
• cursive (kurziva)
Příklad:
p {font-family: serif}
Požadované písmo lze určit konkrétně (pozor, aby ho konkrétní prohlížeč znal), pak vždy před obecnou rodinu a
víceslovný název do apostrofů.
Příklad:
p {font-family: ‘Times New Roman’, Times, serif}
Font-weight
Tučnost písma, výchozí hodnota normal.
Možnosti: normal, bold, bolder, lighter,100, 200, 300, 400, 500, 600, 700, 800, 900
Příklad:
p {font-weight: bold}
Font-size
hodnoty lze zadávat různým způsobem, např absolutně (xx-small, small, medium, large,x-large,xx-large) nebo
relativně (smaller, larger)
nebo je možné použít:
Relativní délkové jednotky nebo procenta (em-násobek výšky abs. písma , px –bod obrazu
Absolutní délkové jednotky (cm, mm,, in, pt, pc 1 pt=1/72in =1/12 pc, 1 in=2,54 cm)
Příklad:
h1 {font-size: 1.5em} je totéž jako h1 {font-size: 150%}
9
PDF vytvořeno zkušební verzí pdfFactory Pro www.fineprint.cz
Další vlastnosti:
Font-style
o Italic (italic)
o Oblique (skloněné)
o Normal (normální)
Font-variant
small-caps (kapitálky)
normal
Line-height
výška řádku – v číslech, délkových jednotkách nebo procentech
Poznámka: Kaskádové styly lze určovat také pomocí sdružených vlastností:
Příklad:
p {font-style:normal; font-variant:small-caps;font-weight:bold;font-size: 12px; line-height:14px; font-family:
serif}
Záleží zde na pořadí jednotlivých vlastností, font-size a font-family jsou povinné.
Komentáře
Do definice stylu se zapisují mezi dvojici znaků /* */
6.
Kaskádové styly – selektory,
barvy a pozadí
Výběr prvku podle jména:
p {…}
h1 {…}
Výběr všech prvků: * {…}
Kontextové selektory (výběr prvků podle umístění)
Místo pracného nastavování všech vlastností, stačí nastavit základní hodnoty a vyjmenovat výjímky. K tomu se
právě hodí kontextové selektory.
Např:
h1 em –vyhovuje všem EM, které jsou uvnitř h1.
li ol – vlastnost vnořeného seznamu.
Př.
h1 em { color:silver}
li ol, li ul {font-size: smaller}
Výběr prvků podle atributu ID
Pokud stejný element potřebujeme v různých výskytech zobrazit rozdílně, můžeme použít atribut ID
Př.
V dokumentu XHTML: <P id=”modry”> Text modréhoodstavce </p>
V CSS:
p#modry {color:blue} (p#modry se píše bez mezery}
ID je identifikátor – musí začínat písmenem, pak lze používat písmena, číslice, podtržítka a pomlčky a být
unikátní v rámci jednoho dokumentu. (Pokud straší IE neumí ID, můžeme používat name)
Třídy
umožňují určit vlastnost pro několik prvků, které spolu nesouvisejí.
Příklad:
Dokument: <h1 class=”modre”>hhhhhhhhhh</h1>
………………………….
<p class=“modre“>………………………..</p>
10
PDF vytvořeno zkušební verzí pdfFactory Pro www.fineprint.cz
CSS: modre {color:blue}
Pseudoprvky:
Příklad: p: first-line {font-weight: bold} – první řádek oodstavce bude tučně
p: first-letter{font-weight: bold} – první písmeno
Elementy span a div
slouží k označení částí dokumentu.
Elementy HTML lze dělit do dvou skupin :
• řádkové, které umožňují formátovat úseky textu: a, em, b, span
• blokové – pomyslné kontejnery: odstavce, tabulky, body, div
Odkazy nastavujeme speciálními selektory .
A:link {color:blue}
A:visited {color:red}
A:active {color:green}
Pseudotřídy
formátování odkazů, které se hodně používá:
Příklad:
a:link {background-color: yellow}
barva pozadí nenavštíveného odkazu
a:visited {background-color: yellow}
barva pozadí navštíveného odkazu
a:hover {background-color: yellow}
pozadí odkazu zežloutne, když je nad ním umístěn kurzor.
Barvy a pozadí
Color
Určení barvy všech druhů elementů
názvová konstanta (navy)
rgb(x,y,z) – x,,y,z –čísla z intervalu 0..255 (rgb(255,0,0) je červená, rgb(255,255,00 – žlutá)
#rrggbb analogický způsob pomocí hexadecimálního zápisu
Příklad: a {color: black} (totéž a {color: rgb(0,0,0)}
Background-color
Barva pozadí pro všechny druhy elementů, není dědičná, výchozí hodnota je transparent –průhledná.
Určuje se stejně jako color.
Příklad:
a:visited {background-color: yellow}
Background-image
Výchozí hodnota none (žádný), jinak obrázek na pozadí.lze opět použít pro všechny elementy
Příklad:
p {background-image: url(“obr.jpg”}
Background-repeat
pokud je obrázek na pozadí menší, než oblast, kterou á pokrýt, je implicitní vlastnost Background-repeat
repeat – obrázkem se plocha potapetuje ve vodorovném i svislém směru.
no-repeat – obrázek se neopakuje
repeat-x – obrázek se opakuje ve vodorovném směru
repeat-y – obrázek se opakuje ve svislém směru
Příklad:
body {background-image: url(“film.gif”); background-repeat: repeat-y}
11
PDF vytvořeno zkušební verzí pdfFactory Pro www.fineprint.cz
Žlutozelená
Světle zelená
Mořská zelená
Temné moře
Tmavě zelená
Oranžová
Tmavá oranž
Červená korálová
Rajčatová červená
Světlá červeň
Karmín
Čokoládová
Indiánská
Cihlová červená
Hnědá
Okrová
Tmavě červená
Růžová
Hluboká růžová
Světle šedá
Tmavě šedá
Tmavě tyrkysová
Fuchsiová
Fialová
Světlá modř
Tmavá fialová
Tmavá fuchsiová
Modrofialová
Šedomodrá
Indigová
Tmavá ocelová
Ocelová modř
Modrá obloha
Tmavě modrá
Vzorník zákl. 16 odstínů –VGA
bílá
žlutá
fialová
červená
tyrkysová
žlutozelená
modrá
šedá
stříbrná
olivová
purpurová
hnědočervená
modrozelená
zelená
námoř.modř
černá
white
yelllow
fuchsia
red
aqua
lime
blue
grey
silver
olive
purple
maroon
teal
green
navy
black
Rozšířený vzorník na 64 odstínů
Slonová kost
Sněhobílá
Omšelá bílá
Kouřově bílá
Béžová
Azurová
Světle tyrkysová
Akvamarín
Jasná tyrkysová
Světle žlutá
Zlatá
Khaki
Zelenožlutá
Kukuřicová
ivory
snow
antiquewhite
whitesmoke
beige
azure
lightcyan
aquamarine
cyan
lightyellow
gold
khaki
greenyellow
cornsilk
yellowgreen
lightgreen
darkseagreen
seagreen
darkgreen
orange
dark orange
coral
tomato
lightcoral
crimson
chocolate
indianred
firebrick
brown
saddlebrown
darkred
pink
deeppink
lightgrey
darkgrey
darkcyan
magenta
violet
lightblue
darkviolet
darkmagenta
blueviolet
cadetblue
indigo
darkslateblue
steelblue
deepskyblue
darkblue
Background-attachment
pokud se element nevejde do vymezeného prostoru, pohybujeme se po něm posuvníkem. Standardní chování
pozadí je sdílet tento pohyb (scroll) pokud chceme, aby pozadí bylo pevné a popředí rolovalo po něm, použijeme
např. p { Background-attachment: fixed}
Background-position
Obrázek na pozadí je standardně umístěn v levém horním rohu a jeho kopie (při tapetování) vedle a pod ním.
Přesunutí obrázku na jinou pozici – tato vlastnost, užívají se parametry top, left, right, bortom a center. (střed
prvku). Implicitní hodnota je 0%, 0% (levý horní roh)
Příklad:
body {background-image: url(logo.jpg); background-position: center 50%)
Background
Sdružená vlastnost, vše lze zadat najednou v lib. pořadí a oddělit mezerami.
Příklad:
body {background: url(“bla.gif”) repeat-y yellow}
12
PDF vytvořeno zkušební verzí pdfFactory Pro www.fineprint.cz
7.
Kaskádové styly – rámečky a okraje,
některé vlastnosti textu
Základem dokumentu jsou blokové prvky, které k sobě přiléhají nebo jsou do sebe vnořené.Každý je ohraničen
rámečkem, který vymezuje vnější a vnitřní okraj.
rámeček (border)
vnitřní okraj (padding)
rámeček (border)
obsah bloku
vnější okraj (margin)
Většinu vlastností rámečků uvedeme pouze pomocí sdružených vlastností, což je rychlejší.
Border-width
Příklad:
p {border-width 1px 2px 1px 2px} – zápis udává tloušťku jednotlivých stran rámečku odshora ve směru
hodinových ručiček. Kromě přesných hodnot můžeme použít: thin, medium a thick. (tenká, střední, tlustá)
Border-style
určuje styl orámování jednotlivých stran .
Hodnoty:
none
bez rámečku (implicitně)
dotted
tečkovaná čára (IE až do verze 6, tloušťka min. 2px)
dashed
čárkovaná
solid
plná
double
dvojitá
groove
žlábek
ridge
hřeben
inset
vtlačený reliéf
outset
vystouplý reliéf
Příklad:
p {border-width: thick; border-style: dashed solid dotted double}
Pokud uvedeme jen jednu hodnotu, budou všechny čtyři strany stejné, dvě hodnoty se týkají nejprve
horizontálních, pak vertikálních stran, tři všeho kromě levé strany.
Pozor, implicitní hodnota je none, takže pokud ji nezměníme, rámeček se nezobrazí.
Border-color
analogicky:
Příklad:
p {border-width: thick; border-color: blue red green yellow}
Border
sdružená vlastnost, která umožňuje zadat vše najednou, ale pouze pro všechny čtyři strany najednou. K
definování všech vlastností pro jednotlivé strany lze použít sdruženou vlastnbost border-top,….border-left.
Padding
je šířka vnitřního okraje.
13
PDF vytvořeno zkušební verzí pdfFactory Pro www.fineprint.cz
Hodnota se skládá podobně jako u rámečku z jednoho až čtyř údajů zadaných pomocí délkových jednotek nebo
procent
Příklad:
p {padding: 10px}
Margin
šířka vnějšího okraje, podobné jako u padding.
Příklad:
table {margin: 10px}
Některé vlastnosti textu
Word-spacing
ovlivňuje velikost mezislovních mezer. Nejde o rozměr mezery, ale o hodnotu, která bude přičtena (nebo
odečtena) k výchozí hodnotě. (normal)
Příklad:
p {word-spacing: -10px} – pozor, může dojít k překrývání slov.
Letter-spacing
vzdálenost mezi písmeny –možnost použít proložení znaků
Příklad:
h1: {letter-spacing: 3px}
Text-decoration
podtržení, přeškrtnutí, čára nad textem, blikání (v IE nefunguje)
Hodnoty vlastností: none, underline, overline, line-through, blink
Často se užívá k tomu, aby se hypertextový odkaz nebyl podtržen.
Příklad:
a: hover {background-color: black; color:red; text-decoration: none}
Text-transform
užívá se k převodu na všechna písmena malá (lowercase), všechna velká(uppercase) nebo první písmena velká
(capitalize). Výchozí hodnota je none.
Příklad:
h1 {text-transform: uppercase}
Zarovnání, odsazení
Text-align
Zarovnání textu: left, right, justify (do bloku)
Příklad:
h1 {align: center}
Text-indent
Odsazení v délkových jednotkách nebo procentech. }procenta vždy udávají podíl nadřazeného prvku)
Příklad:
p {text-indent: 50%}
Vertical-align
umožňuje měnit svislé zarovnání řádkových elementů. (span) V procentech se vztahuje k výšce řádky aktuálního
prvku. (line-height)
Příklad:
span {line-height: 50px; vertical-align:15px}
Kromě délek lze použít vlastnosti:
baseline, modele, sub (dolní index –účaří prvku je posunuto dolů), super (horní index), text-top, text-bottom, top,
bottom
14
PDF vytvořeno zkušební verzí pdfFactory Pro www.fineprint.cz
8.
Kaskádové styly – vlastnosti zobrazení obsahu prvků,
obtékání, pozicování
Display
Vlastnost být blokovým nebo řádkovým elementem lze upravit.
Hodnoty:
block – vytvoříme z řádkového elementu blokový
Příklad: a {display: block} – každý odkaz se bude chovat jako odstavec
inline – naopak
list-item – položka seznamu
none – nezobrazí se
List
Pokud je u prvku vlastnost display list-item, můžeme nastavit další vlastnosti položek seznamů (případně
všechno najednou pomocí sdružené vlastnosti list-style)
List-style-type
• disc
• circle
■ square
I. upper-roman
i. lower-roman
1. decimal
a. lower-alpha
A. upper-alpha
none
List-style-position
definuje umístění odrážky ve vztahu k textu, který odráží.
Outside – odrážka je mimo prvek
Inside – odrážka je součástí prvku
Příklad:
p { List-style-type : square; list-style-position: inside}
■ jjjjjjjjjjjjj jjjjjjjjjjjjjjjjjjjjjjjjjjjjjj jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj jjjjjjjjjjjjjjjjjjjjjjjj
jjjjjjjjjjjjjjjjjjjjj
List-style-image
Místo odrážky lze použít obrázek
Příklad:
li {list-style-image: url(“kulicka.gif”)}
Šířka a výška prvků
U blokových elementů bez rámečku a vnitřních či vnějších okrajů, u IE včetně.
Výchozí hodnota je auto – šířka prvku v konkrétním prohlížeči závisí na rozměrech okna a může se měnit.
Width
v procentech nadřazeného objektu nebo v délkových jednotkách absolutně.
Příklad:
div { width: 700px}
Height
analogicky
15
PDF vytvořeno zkušební verzí pdfFactory Pro www.fineprint.cz
Obtékání
Float
Pomocí této vlastnosti můžeme přesunout prvek doleva (left) nebo doprava (right) a vytvořit z něj plovoucí
prvek, obsah následujících objektů, (pokud se vejde) se pak vypisuje vedle počínaje horní hranou. Implicitně
prvky plovoucí nejsou. (none)
Příklad:
#obr {margin-left: 20px; float: right}
Clear
Pokud při užití float chceme, aby se určitý prvek přesunul pod obtékaný objekt, musíme definovat tuto vlastnost.
Její hodnoty určují stranu, kde se ruší účinky plovoucích prvků.
(left, right, both(obě))
Příklad:
p {clear:left}
pokud je před tímto odstavcem vlevo plovoucí prvek, neovlivňnuje nijak jeho zobrazení.
Pozicování prvků
Není-li určeno jinak, prohlížeč zobrazuje řádkové elementy za sebou, blokové pod sebe. zadáním vlastnosti
position můžeme tento stav měnit.
Position – static, absolute, relative (static – implicitní hodnota)
relative
prohlížeč relativně umístěné prvky posune o udanou hodnotu z místa, kde by se zobrazily normálně. Na jejich
původním místě zůstane prázdné místo, může dojít k překrývání prvků.
Příklad:
img {position: relative; bottom: 50px}
obrázek bude o 50 pixelů výš než původně.
Posouvat lze ve směrech: bottom, top, left, right o délkové jednotky nebo procenta.
Příklad: right – prvek se posune zprava doleva, bottom – zdola nahoru
Absolute
prvek se přesouvá podobným způsobem, ale od hrany nejbližšího nadřazeného pozicovaného prvku, případně od
hrany dokumentu. Zobrazí se na určeném místě a ostatní objekty se chovají, jako by neexistoval.
Viditelnost a přetékání
Visibility – hodnoty hidden a visble, jedná se o skrytí či zobrazení elementu. (visibility:hidden na rozdíl od
display : none není prvek zrušen, ale pouze není vidět).
Overflow – ovlivňuje chování prohlížeče, když se (například nastavením většího písma) nevejde do jemu
vyhrazeného prostoru.
Hodnoty: visible, hidden, scroll, auto
Auto: pokud by došlo k přetečení, přidá prohlížeč k objektu posuvníky.
9.
Klikací mapy, orientační seznámení s rámy
Umožňují vymezit tzv, citlivé části obrázku, které se chovají jako hypertextové odkazy.
V sekci <map>….</map> definujeme příslušné úseky odkazové mapy pomocí kruhů, obdélníků, případně
mnohoúhelníků a potom vložíme příslušný obrázek s atributem usemap.
Souřadnice útvarů si nejprve zjistíme ve vhodném editoru obrázků.
<map name=”jmenomapy”>
<area shape=rect coords="10,10,50,50" href="dok1.htm">
<area shape=circle coords="10,10,50" href="dok2.htm">
<area shape=poly coords="10,10,….60,20" href="dok3.htm">
</map>
<img src="obr.jpg" usemap="#jmenomapy ">
16
PDF vytvořeno zkušební verzí pdfFactory Pro www.fineprint.cz
rect – obdélník, coords – souřadnice levého horního a pravého dolního rohu
circle – kruh, coords – souřadnice středu a velikost poloměru
poly – mnohoúhelník coords – souřadnice vrcholů
name=”jmenomapy” – definuje název mapy, který usemap="#jmenomapy "přiřadí příslušnému obrázku.
Příklad
<map name="utvary">
<area shape=rect coords="81,60,148,115" href="red.htm">
<area shape=circle coords="67,197,40" href="yellow.htm">
<area shape=poly coords="146,182,224,201,192,94" href="green.htm">
</map>
<img src="obr.jpg" usemap="#utvary">
Rámy
Umožňují rozdělit okno prohlížeče na části, v každé části může být jiná stránka.odkaz v jednom rámu může
vyvolat načtení stránky do jiného rámu. Rámy se tak využívají k tvorbě navigačních menu.
Obecně se k rozvržení stránek dává přednost pozicování a tabulkám, proto je uvádíme pouze pro úplnost.
Definice rozložení rámů
FRAMESET – rozložení rámů
<frameset rows=”50%,50%”>
rows=”x,y.z”-podélné dělení okna (řádky)
<frameset cols=”10%,50%,40%”>
definice obsahu jednotlivých rámů
</frameset>
<FRAMESET> -v dokumentu, který popisuje rozložení rámů nahrazuje <BODY>
Dělení okna se může udávat v pixelech, v procentech nebo pomocí znaku *. Konkrétní hodnoty se nejprve
přiřadí, při jedné hvězdičce se do ní dosadí zbytek, při více hvězdičkách je dělení zbytku okna mezi ně
rovnoměrné.
Příklady:
<frameset rows=”100,*,*” cols=”50%,50%>
definice obsahu 6 rámů
<frameset>
<frameset rows=”100,*” >
definice obsahu horního okna
<frameset cols=”30%,70%”>
definice obsahu dvou sloupcových oken
</ frameset>
</ frameset >
Definice obsahu rámů
<frame src=”dokument.htm”>
Příklad: (yellow,red a green jsou html dokumenty, které mají pouze def. Příslušnou barvu pozadí)
<frameset rows="100,*" >
<frame src="yellow.htm">
<frameset cols="30%,70%">
<frame src="red.htm">
<frame src="green.htm">
</frameset>
</ frameset>
</html>
Poznámka:
Chceme-li si prohlédnout stránku s rámy, můžeme použít kontextové menu (pravé tlačítko myši) pro zobrazení
konkrétních rámů a Zobrazit/ zobrazit zdrojový kód pro zobrazení stránky, která definuje rozložení rámů.
17
PDF vytvořeno zkušební verzí pdfFactory Pro www.fineprint.cz
Další atributy FRAME
Noresize – nedá se měnit velikost myší
Scrolling=”yes” rám bude opatřen rolovacími pruhy, další hodnoty: no, automatic (implicitní hodnota, podle
potřeby)
Frameborder=1 –šířka rámečku rámu, (implicitní hodnota) pokud nechceme rámeček, použijeme hodnotu 0.
Marginwidth, marginheight –vzdálenost obsahu rámu od okrajů
NAME –jméno rámu, užívá se v odkazech. Potom aktivace odkazu v jednom rámu může způsobit načtení stránky
do jiného, cílového rámu. V odkazech se odvoláváme na rámy prostřednictvím atributu target
Příklad
Dokument ramy.htm –obsahuje rozložení rámů
< frameset cols="30%,70%">
<frame src="barvy.htm">
<frame src="yellow.htm"name=Barva>
</frameset>
Dokument barvy.htm – obsahuje menu, které se zobrazí v levém rámu
<body bgcolor="silver">
<h1>
<ul>
<li> <a href="yellow.htm" target=Barva>yellow</a>
<li> <a href="red.htm" target=Barva>red</a>
<li> <a href="green.htm" target=Barva>green</a>
</h1>
</body>
Dokumenty pro zobrazení barev: <body bgcolor="yellow"></body></html>
Poznámky:
Pokud je cílový rám pro všechny odkazy stejný, můžeme do hlavička dokumentu umístit příkaz:
<head>…..
<base target=Barva>
…</head>
Pokud cílový rám neexistuje, prohlížeč otevře nové okno.
Pokud chceme , aby se odkazovaný dokument otvíral v celém okně, nikoliv v rámu, použijeme target=”_ top“
10.
Formuláře
Dynamické webové stránky
obsahují interaktivní prvky – formuláře, dialogy, obrázky se mění když je přejedeme myší apod. Takové prvky je
ovšem nutné programovat. Užívají se zde technologie jako applety jazyka JAVA nebo zařazení programů ve
skriptovacích jazycích –VBSript, JavaScript, PHP.
18
PDF vytvořeno zkušební verzí pdfFactory Pro www.fineprint.cz
Abychom s nimi mohli pracovat je ovšem ideální se seznámit s příslušným jazykem důkladněji, ale dají se také
používat hotové applety a skripty, pokud víme, jak je do svých stránek zařadit. Nikdy ovšem nevydáváme cizí
práci za vlastní, vždy uvedeme odkaz na stránku autora. Specielně zařazení appletů dobře zvažujeme, nejen
prodlužují dobu zobrazení stránky, ale mohou způsobit i zhroucení návštěvníkova počítače.
Formuláře
slouží k získávání informací od uživatele a k předávání informací uživateli.Mohou být zpracovány programem
pracujícím přímo ve stránce (Javascript) nebo skripty běžícími na serverech. (PHP) K formulářům se většinou
váží obslužné akce.
Uživatel vidí formulář jako dialogovou část stránky obsahující různá vstupní pole, tlačítka a přepínače. Při jeho
vytváření jednak připravíme grafickou podobu pomocí prvků formuláře a jazyka HTML, jednak příslušnou
obsluhu, čili zpracovávající skript.
Příklad:
<form action=url skriptu” method=”jak přenést data”>
tělo formuláře
</form>
Hodnota atributu action je adresa skriptu, který bude zpracovávat zadaná data.. Method určuje způsob, jak se
data předávají serveru.
Get: data jsou předávána v rámci URL adresy skriptu – vhodné pro menší formuláře.
Post: pro rozsáhlejší formuláře
Prvky formuláře
•
•
•
INPUT
TEXTAREA
vytvoření vstupního pole pro zadávání delšího textu
SELECT
umožňuje vytvořit seznamy, z nichž lze vybrat jednu či více položek.
Element INPUT
Slouží k vytvoření většiny formulářových prvků. Druh prvku určuje atribut TYPE. Pokud se chceme na prvky
formuláře odvolávat ve skriptech, je třeba je pojmenovat – atribut id (při problémech name)
<input type=druh prvku id=”jméno“ >
Text
Vstupní pole <input type=”text“ id=“jméno“ size=“10“ maxlength=“5“ value=“blabla“>
Size
velikost políčka ve znacích, při více znacích text v políčku roluje
Maxlength
maximální délka, kt. lze do pole zapsat
Value
hodnota, která se v políčku objeví při zobrazení stránky
Password
<input type =”password“ >
chová se jako text, ale při psaní do pole se místo znaků objeví hvězdičky.
Checkbox
<input type=“checkbox“ >
slouží k výběru jedné nebo více možností, zobrazí se jako čtvereček. Zaškrtnutí udává atribut checked. Skupinu
políček můžeme pro zpracování skripty pojmenovat stejně.
<form name=”f”>
<table width=50% >
<tr>
<th colspan=3> Který měsíc Vám vyhovuje?</th>
<td><input type=”checkbox” id=”X“ checked >květen</td>
<td>< input type =”checkbox” id=”X“ >červen</td>
<td>< input type =”checkbox” id=”X“ checked >červenec</td>
19
PDF vytvořeno zkušební verzí pdfFactory Pro www.fineprint.cz
</table >
</form>
Příklad: (Javascript)Pak se na jednotlivá políčka můžeme odvolávat např.
if (document.f.X[0].checked (f je zde jméno formuláře)
Radio
<input type=”radio“ >
nabízí výběr právě jedné varianty z několika
<input type=”radio” NAME=”X“ checked >žena
<input type=”radio” NAME=”X“ >muž
Tlačítka
<input type=”submit” >
tlačítko pro odeslání formuláře. Může mít (ostatní tlačítka rovněž) atribut VALUE, kt. udává text na tlačítku
<input type=”reset” >
nastaví všechny prvky ve formuláři do původní podoby
<input type =”button” value=”klikni” onclick=”výpočet()”>
obecné tlačítko, při jeho stisknutí se volá funkce výpočet, definovaná dříve skriptem.
Tlačítko s grafikou
<button type=”button” >
<h3>haha</h3><img src=”obr.gif”>
</button>
dají se zde použít všechny dříve definované druhy tlačítek.
TextArea
Slouží k zadávání delších textů.
Příklad:
<form>
Co nám chcete sdělit?<br>
<textarea cols=20 rows=3>
Ahoj
</textarea>
</form>
atributy cols a rows určují počet sloupců a řádků textového pole
Select
Tento element slouží k výběru jedné či více položek z několika. Jednotlivé položky se uvádějí jako obsah prvku
OPTION, jehož atribut VALUE se (jako skoro všude) používá pro zpracování skripty. Položky s atributem
SELECTED budou předem vybrány.
Atribut SIZE uvádí počet najednou zobrazených řádek seznamu, pokud není uveden, zobrazí se jen jedna a
seznam se rozbalí po kliknutí na šipku. Atribut MULTIPLE umožňuje vybrat najednou více položek ze seznamu.
Příklad:
<form>
Vyber si zvířátko:
<select id=”Zver”>
<option value=”t”>Telátko</option>
<option value=”p”>Pštros</option>
<option value=”k”>Kočička</option>
</select>
Co mu dáš k jídlu?
<select Name=”Ham” multiple size=8 align=”top”> size zde udává počet řádků
<option value=”t”>Trávu</option>
<option value=”p”>Mléko</option>
<option value=”k”>Ostatní zvířátka</option>
</select>
20
PDF vytvořeno zkušební verzí pdfFactory Pro www.fineprint.cz
11.
Úvod do skriptů PHP
proměnná a její hodnota
Poznámka: Doporučujeme zopakovat si úvod do programování – pojem algoritmus, program, vstup a výstup,
základní příkazové konstrukce.
Pro experimentování s PHP a MySQL na lokálním počítači budeme potřebovat adresář WAMPP2 v kořenovém
adresáři C.
Abychom mohli interpretovat skripty, je třeba nejprve spustit dávkový soubor Apache_start. Skripty ukládáme do
Wampp2, podložka projekty a spouštíme je z internetového prohlížeče, kde nejprve nastavíme adresu:
http://localhost/
Vytvořil ho 1995 Rasmus Lerdorf, původně program ukládal informace o návštěvnících jeho domovské stránky.
(Personal home page)
Příkazy tohoto jazyka vykoná server před odesláním webové stránky a uživatel obdrží vygenerovaný HTML
kód.
Výhody: jednoduchost, možnost práce s databázemi, nezávislost na platformě.
Příkazy se zapisují přímo do zdrojového kódu HTML stránky, od značek HTML se oddělují:
<?php
php jde většimou vynechat
tělo skriptu
?>
Dokumentaci lze získat např. na www.php.cz
Poznámka: jako u většiny jazyků odvozených z jazyka C, C++ lze většinu programového kódu, který dále
uvádíme zapsat i jinak. Snažíme se zvolit vždy zápis přehledný, srozumitelný a čitelný (ne ovšem nejkratší).
Ke srozumitelnosti programů přispívají komentáře.
Skripty píšeme v jednoduchém textovém editoru (poznámkový blok, kromě řetězců doporučujeme používat
anglickou klávesnici.
Komentáře
Jednořádkové: // krátké poznámky
Několikařádkové /*………………………………………
…………………………………………………………………….*/
Proměnná
Proměnnou si můžeme představit jako místo v paměti, kde je uložena její hodnota.
Identifikátor (jméno) proměnné musí začínat znakem $ . Rozlišují se velká a malá písmena.
$x je jiná proměnná než $X. Nesmí začínat číslicí.
Proměnné mohou být například celočíselné , racionální s desetinnou tečkou nebo řetězce – –posloupnost znaků
mezi apostrofy nebo uvozovkami.
Přiřazovací příkaz:
$x=10;
$x=10*2;
Jednotlivé příkazy se oddělují středníky.
Je-li na pravé straně výraz, nejprve se vyhodnotí, pak dosadí do proměnné na pravé straně.
$x=$x+1; tedy přidá k obsahu proměnné $x jedničku, takže byla-li předtím 20, bude 21.
( Ekvivalentní krátký zápis $x++.)
Výpis hodnoty proměnné – příkaz echo
echo $x;
vypíše hodnotu proměnné $x do stránky.
Výpis řetězce: echo “Ahoj můj milý návštěvníku!“
Do příkazu echo lze umístit jako řetězce HTML značky:
echo “<p> Ahoj můj milý návštěvníku! </p> <p>Zdalipak víš, že 3*7=$x </p>“;
V jednodušších případech lze při vnoření dalšího řetězce použít apostrofy, jinak, chceme-li uvozovky uvnitř,
musí je předcházet \.
(echo "<form name='f''>" nebo echo "<form name=\"f\">"
Příklad:
<html>
<head >
<title> Pozdrav </title>
<meta http-equiv="Content-Type" content="text/html"; charset="windows-1250">
21
PDF vytvořeno zkušební verzí pdfFactory Pro www.fineprint.cz
</head>
<body>
<?
$jmeno="nejmilejší návštevník";
$pocet=100;
echo "<h1><p>Ty, který jsi můj $jmeno, </p> <p> posílám Ti $pocet pozdravů.</p></h1>";
?>
</body>
</html>
Pokud tento skript uložíme na server a otevřeme webovým prohlížečem, zobrazí se okno:
Získání hodnoty proměnné z formuláře:
Pokud má např. některý prvek formuláře identifikátor id=”nazev” , můžeme se na příslušnou hodnotu odkazovat
ve skriptu pomocí proměnné $nazev
Poznámka: pokud IE dělá problémy s id, lze použít starší označení identifikátoru name.
Příklad:
Nejprve připravíme html dokument s formulářem:
<html>
<head >
<title> Pozdrav </title>
<meta http-equiv="Content-Type" content="text/html"; charset="windows-1250">
</head>
<body>
<form action="2.php" method="get">
Jak se jmenujete?
<input type ="text" name="jmeno"><br />
<input type="submit" value="odeslat">
</form>
</body>
</html>
"2.php“ je jméno obslužného skriptu (url adresa, pokud leží
ve stejném adresáři.
Skript lze zapsat jednoduše:
<?
$pocet=100;
echo "<h1><p>Ty, který jsi můj $jmeno , </p> <p> posílám
Ti $pocet pozdravů.</p></h1>";
?>
22
PDF vytvořeno zkušební verzí pdfFactory Pro www.fineprint.cz
Jakou verzi PHP používáme a další informace nám zobrazí skript:
<?
phpinfo();
?>
Aktuální čas zobrazí skript: <?echo Date("d.m.Y H:i:s")?>
Některé operátory
+
*
/
.
%
==
!=
<
>=
&&
||
součet
rozdíl
násobení
dělení
spojení řetězců
zbytek po celočíselném dělení
je rovno
je různo
je menší
je větší nebo rovno
a současně
nebo
$x=$y+23
“Dobrý “.”den”
Příklad:
Pomocí formuláře zadá uživatel velikost hran kvádru, skript vypíše objem a povrch.
Dokument s formulářem (kvádr.htm)
<html>
………..
<h1> Kvádr </h1>
<form action="3.php" method="get">
Zadejte velikost hrany <b>a</b> v metrech:
<input type ="text" name="a"><br />
Zadejte velikost hrany <b>b</b> v metrech:
<input type ="text" name="b"><br />
Zadejte velikost hrany <b>c</b> v metrech:
<input type ="text" name="c"><br />
<input type="submit" value="odeslat">
</form>
………………..
3.php
<html>
………….
<h1> Vyřešený kvádr </h1>
<img src="kvadr.jpg" align="center" />
<h2>
<?
$V=$a*$b*$c;
$S=2*($a*$b+$a*$c+$b*$c);
echo "Objem kvádru je $V metrů krychlových. <br />";
echo "Povrch kvádru je $S metrů čtverečních. <br />";
?>
</h2>
</body>
</html>
12.
Úvod do PHP –
větvení programu
Příklad: chceme vypočítat absolutní hodnotu čísla podle definice:
Když x>=0 tak |x|=x
jinak (x<0) |x|=-x
23
PDF vytvořeno zkušební verzí pdfFactory Pro www.fineprint.cz
Zápis v php:
<?
if ($x>=0)
{
$abs=$x;
}
else
{
$abs=-$x;
}
echo "Absolutní hodnota zadaného čísla $x je $abs . <br />";
Obecně:
if ( platí podmínka)
{
příkaz nebo několik příkazů oddělených středníky se provede
}
else
{
provede se jiný příkaz nebo příkazy
}
Příklad:
Uživatel zadá dvě čísla a dostane zprávu, jestli je první číslo dělitelné druhým.
if (($x % $y)==0)
{
echo "číslo $x je dělitelné číslem $y beze zbytku.";
}
else
{
echo "číslo $x není dělitelné číslem $y beze zbytku.";
}
?>
Příklad:
Uživatel si z rozbalovacího seznamu vybere oblíbené zvířátko a skript mu ho zobrazí.
Formulář
<html>
<head>
<title> výběr obrázku </title>
</head>
<form action="5.php" method="get">
Vyber si zvířátko:
<select name="zver">
<option value="t">Telátko</option>
<option value="k">Králík</option>
<option value="j">Kočička</option>
</select>
<input type="submit" value="odeslat">
</form>
</body>
</html>
Skript:
<?
if ($zver=="k")
{
$obr="k.jpg";
}
else
24
PDF vytvořeno zkušební verzí pdfFactory Pro www.fineprint.cz
{
if ($zver=="j")
{
$obr="j.jpg";
}
else
{
$obr="t.jpg";
}
}
echo "<img src=$obr>";
?>
Další příklady vítají návštěvníka na stránce podle datumu a času. Využívá se funkce date s mnoha parametry.
(viz dokumentace k php)
Jednoduchý příklad:
<? if (date(“A”)==”AM”)
{
echo “Hezké dopoledne“;
}
else
{
echo “Hezké odpoledne“;
}
?>
Příklad:
Přání dobrého dne podle denní doby. Date(H) vrací hodinu z intervalu 00-23
<?php
$hod=Date(H)*1;
if ($hod <= 6)
{$doba="Proč nespíš?";}
else
if ($hod<=10)
{$doba="Dobré ráno";}
else
if ($hod<=13)
{$doba="Dobré poledne";}
else
if ($hod<=17)
{$doba="Dobrý večer";}
else {$doba="Dobrou noc";}
echo "<h3>Přejeme Vám $doba</h3>";
?>
13.
Úvod do PHP – cyklus
Pokud potřebujeme naprogramovat opakované provádění nějakých příkazů, používáme cyklus. Zde se
seznámíme s příkazem while, který zajišťuje provádění akce, dokud platí určitá podmínka. Akce musí zajistit,
aby podmínka přestala platit, jinak by se cyklus opakoval do nekonečna.
Obecně:
while (platí podmínka)
{
Prováděj příkaz (nebo příkazy oddělené středníky)
}
Příklad:
Výpis čísel od jedné do 10
$x=0;
while ($x<10)
{$x=$x+1;
echo "<BR>";
25
PDF vytvořeno zkušební verzí pdfFactory Pro www.fineprint.cz
echo $x;
}
Příklad:
Výpis slova AHOJ postupně se zvětšujícím písmem
$x=0;
while ($x<7)
{$x=$x+1;
echo "<font size=$x>AHOJ</font><BR>";
}
Příklad:
Výpočet přirozené mocniny čísla opakovaným násobením základem:
(Uživatel zadá základ z a exponent n pomocí vstupního formuláře.)
$moc=1;
$i=1;
while ($i<=$n)
{$moc=$moc*$z;
$i=$i+1;
}
echo $moc;
Příklad:
Výpočet největšího společného dělitele dvou čísel pomocí Euklidova algoritmu:
(Algoritmus vychází z toho, že pokud něco dělí obě čísla, dělí také jejich rozdíl a tedy:
pokud a>b, nsd(a,b)=nsd(b,a-b),
jinak pokud a=b nsd(a,b)=a=b
jinak nsd(a,b)=nsd(a,b-a).
Dokud si tedy čísla nebudou rovna, zmenšujeme hodnotu většího z nich o hodnotu menšího.
while ($a!=$b)
{
if ($a>$b)
{
$a=$a-$b;
}
else
{
$b=$b-$a;
}
}
echo $a;
Poznámka:
První tři příklady se dají typicky řešit s dalším typem cyklu –FOR, který používáme, víme-li předem, kolikrát se
bude opakovat.
Příklad 1: Výpis čísel od jedné do 10
for ($x=1; $x<=10; $x=$x+1)
{
echo "<BR>";
echo $x;
}
14.
Úvod do PHP –
pole, spolupráce s textovým souborem
Často potřebujeme pracovat s údaji, které mají určitou složitější pevnou strukturu – například se skládají z řady
následujících údajů. (Čísla, jména osob…podobně jako pole v databázích) Protože se často také ve spojení
s MySQl využívají a prakticky stejně se s nimi pracuje v JavaScriptu, alespoň krátce se o nich zmíníme.
Příklad:
$jmena bude obsahovat posloupnost jmen: Eva, Anna, Hana, Marta, Anna, Iva, Karla .
26
PDF vytvořeno zkušební verzí pdfFactory Pro www.fineprint.cz
Pak se na jednotlivá jména můžeme odvolávat:
$jmena[0]
“Eva”
$jmena[1]
“Anna”
…
$jmena[6]
“Karla”
Inicializovat podobné pole (dosadit do něj výchozí hodnoty) lze například takto:
$jmena=array("Eva", "Anna", "Hana", "Marta", "Anna", "Iva", "Karla" ).
S polem pracují některé funkce:
count($jmena) vrací počet prvků pole – v našem případě 7.
array_push($jmena,"Anna") –přidá na konec pole další Annu.
Podobně array_pop($jmena) odebere prvek z konce pole.
sort($jmena) – setřídí pole: textové lexikograficky, číselné podle velikosti.
Když potom chceme pole nějak zpracovat – například jeho položky a zjistit, kolikrát se v něm vyskytuje jméno
Anna, můžeme použít následující cyklus:
$i=0;
$pa=0;
while($i<count($jmena))
{
echo $jmena[$i];
echo "<br />";
if ($jmena[$i]=="Anna")
{
$pa++;
}
$i++;
}
echo "Anna je tam $pa krát.";
Velkou výhodou je možnost jediným příkazem přečíst pole ze souboru uloženého na serveru.
$pole=file("jméno souboru včetně cesty")
Pro předchozí příklad bychom mohli předem připravit textový soubor, každé jméno na zvláštní řádek a potom
jména využívat – vytisknout počet prvků a obsah souboru, přidat nakonec jméno z formuláře, znova vytisknout,
setřídit podle abecedy a opět vytisknout. (viz pole2.php)
<?
$jmena=file("pole2.txt");
$i=0;
$pocet=count($jmena);
echo "Pocet zaznamu v souboru je $pocet.";
echo "<br />";
while($i<count($jmena))
{
echo $jmena[$i];
echo "<br />";
$i++;
}
echo "*******************";
array_push($jmena,"konec");
…….
sort($jmena);
….
Vhodnější by ovšem bylo pro tisk pole, který se třikrát opakuje použít funkci: (Více o funkcích v javaScriptu)
<?
function vypis($pole)
{
$i=0;
$pocet=count($pole);
echo "Pocet zaznamu v souboru je $pocet.";
echo "<br />";
while($i<count($pole))
{
echo $pole[$i];
27
PDF vytvořeno zkušební verzí pdfFactory Pro www.fineprint.cz
echo "<br />";
$i++;
}
echo "*******************";
}
$jmena=file("pole2.txt");
vypis($jmena);
array_push($jmena,"konec");
vypis($jmena);
sort($jmena);
vypis($jmena);
?>
Další příklady:
Výpis pole čísel z textového souboru, výpočet aritmetického průměru , hledání maxima...
15.
Úvod do JavaScriptu –
základní příkazové konstrukce
JavaScript je mnohem jednodušší jazyk, než Java (Java původně odvozena z jazyka C) Kód je přímo součástí
stránky a interpretuje se v prohlížeči. Hodí se například k programování různých hříček s textem a obrázky
(změna obrázku při přechodu myší apod.) nebo k ošetření kontroly vstupu formulářů. (Aby se zbytečně
neodesílala chybná nebo nevyplněná data) Doporučuje se umístit ho do sekce
<head>
<script language=”JavaScript”>
…zdrojový kód…
</script>
</head>
ale záleží na použití. Buď se provede při načtení stránky, nebo definuje nějakou akci (podprogram, v
JavaScriptu funkce), která se provede jako reakce na určitou událost – klepnutí myši, změna obsahu vstupního
pole, stisknutí klávesy apod.)
Jednotlivé příkazy zdrojového kódu se oddělují středníky.
Použití funkce:
<head>
<script language=”JavaScript”>
function jmeno(parametry)
{…..kód funkce}
</script>
</head>
<body>
………
OnUdálost=”jmeno(hodnota parametrů)“
………
</body>
Událost ( např. onclick – klepnutí myši, onmouseover – přejetí myší) pak můžeme přiřadit různým objektům
stránky: <img src="blue.jpg onmouseover="zmena() ">
Text skriptu obvykle píšeme jako komentář (v HTML <!--………-->), aby starší prohlížeče zbytečně
nevypisovaly zdrojový text skriptu.
Komentáře lze používat i v běžných HTML dokumentech, většinou slouží jako poznámky pro lepší orientaci.
Příklad:
<Script language="Javascript">
window.alert("první skript");
x=window.prompt("Jak se jmenuješ?");
28
PDF vytvořeno zkušební verzí pdfFactory Pro www.fineprint.cz
document.write("Ahoj návštěvníku jménem ");
document.write(“<h1>“)
document.write(x);
document.write("<HR width=80%>")
document.write("Vítám Tě u nás.")
document.write("</h1>");</script>
window.alert("první skript") – zobrazí informační okno
window.prompt("Jak se jmenuješ?") – zobrazí vstupní okno, do kterého uživatel zadá hodnotu. Pokud
nechceme, aby se nabízela hodnoty „undefined“ , přidáme text, který chceme, aby se zobrazil, případně prázdný
řetězec v uvozovkách.
window.prompt("Jak se jmenuješ?",“Sem napiš“), window.prompt("Jak se jmenuješ?",““)
x=window.prompt("Jak se jmenuješ?") – do proměnné x se dosadí hodnota, kterou uživatel zadal do vstupního
okna.
Jedná se o přiřazovací příkaz – obecně má tvar proměnná = hodnota(výraz)
Document.write(x) Hodnota proměnné x se zapíše do dokumentu.
document.write(“<h1>“) – zapíše do dokumentu příkaz jazyka HTML – tedy to co bude dál psáno, bude stylem
h1. (Ananlogicky funguje document.write(“<hr width=80%>“)
document.write(“Ahoj návštěvníku jménem“) – zapíše do dokumentu text v uvozovkách.
Příklad:
Uživatel zadá do vstupního okna postupně dvě čísla a do dokumentu se zapíše jejich součet a rozdíl.
<Script language="Javascript">
x=window.prompt("1.číslo","");
y=window.prompt("2.číslo","");
document.write("<h1>");
document.write("Součet= ");
document.write(x*1+y*1);
document.write("<br");
document.write("Rozdíl=");
document.write(x-y);
document.write("</h1>");
</Script>
Násobení hodnot u součtu je proto, aby bylo zřejmé, že jde o čísla. Jinak operátor + způsobí, že se pouze čísla
napíší vedle sebe
Podmíněný příkaz
Podmíněný příkaz v JavaScriptu má tvar:
If (podmínka) příkaz;
Podmínka se vždy uvádí v kulatých závorkách
Nebo:
If (podmínka) příkaz1;
Else příkaz2;
Pokud se některý z příkazů skládá z více vlastních příkazů, udáváme je ve složených závorkách.
Podmíněné výrazy mohou obsahovat relační operátory: <,>,
<=,>=,(větší nebo rovno, menší nebo rovno),
==,(rovná se vyjadřuejem dvěma rovnítky vedle sebe)
!=(je různo)
Příklad:
Zeptáme se uživatele,kolik je mu let a podle toho mu nabídneme občerstvení.
<Script language="Javascript">
x=window.prompt("Kolik je Ti let?","");
if (x>=18) window.alert("nalejeme ti rum");
else window.alert("nalejeme ti podmáslí");
</Script>
29
PDF vytvořeno zkušební verzí pdfFactory Pro www.fineprint.cz
Příklad:
Podle odpovědí uživatele zobrazíme obrázky, window.confirm je okno, které při stisknutí tlačítka OK vrací
hodnotu pravda, jinak nepravda. Výběr obrázku zajistí funkce vyber, která se spustí při stisknutí tlačítka.
Document.images je jakési pole obrázků v dokumentu. Ten, který je na strámce umístěn jako první, má index 0,
takže se na něj odkazujeme jako na dokument.images[0], další indexy jsou 1,2,…
<script language="javascript">
function vyber()
{
if (window.confirm("Máš rád zvířátka?"))
document.images[0].src="tvor.jpg";
else
document.images[0].src="kytky.jpg";
if (window.confirm("a co města"))
document.images[0].src="obr.jpg"
}
</Script>
</head>
<body>
<center>
<img src="prázdný.jpg" width=296 height=202>
<form>
<Input type=button value = "dialog" onclick="vyber()">
</form>
</center>
Cyklus
Cyklů mívají programovací jazyky více druhů, seznámíme se opět s cyklem while.
While (podmínka)
{ příkazy…
}
Příkazy ve složených závorkách (odděleny středníky) se opakují tak dlouho, dokud platí podmínka v závorkách.
(Aby cyklus skončil, musí tyto příkazy nějak podmínku ovlivnit, jinak vzniká nekonečný cyklus, který velmi
nepříjemně zablokuje počítač).
Příklad:
Uživatel je požádán o zadání hesla a dokud ho správně nezodpoví, program ho nepustí dál.
<Script language="Javascript">
x=window.prompt("Udejte heslo","");
while (x!="123")
{window.alert("chybne heslo");
x=window.prompt("Udejte heslo","");
}
document.write("<h1>Ahoj šikulko</h1>");
</Script>
16.
JavaScript – Funkce
Podprogramy, kterým se v programování většinou říká funkce nebo procedury, se používají když potřebujeme
nějakou posloupnost akcí používat jako celek. (Opakuje se, chceme, aby se provedla při stisknutí tlačítka nebo
kliknutí na obrázek apod.)
V sekci Head nadeklarujeme funkci – čili popíšeme, co bude dělat a v sekci Body ji pak spustíme. (zavoláme)buď automaticky nebo – častěji, jako reakci na určitou událost.
Příklad:
Ukazuje jen oddělenou definici funkce a její volání
<Script language="Javascript">
function cara()
hlavička –uvádí název, pod kterým se funkce volá a v závorce parametry
{document.write("*****************************<BR>");
ve složených závorkách vlastní
akce
}
30
PDF vytvořeno zkušební verzí pdfFactory Pro www.fineprint.cz
</Script>
</HEAD>
<BODY>
<Script language="Javascript">
cara()
</Script>
</BODY>
volání funkce v programu
Příklad:
<Script language="Javascript">
function cara()
{document.write("*****************************<BR>");
}
Stejná funkce jako v předchozím případě, bude se volat při stisknutí prvního tlačítka.
function cara1()
{a="******************";
document.all.sem.innerHTML=a;
}
Opět stejná funkce, ale pokud chceme aby se čára objevila v témže dokumentu, je třeba v něm definovat
kontejner <span id="sem">….</span>, do kterého se čára zapíše. Id je idnetifikátor kontejneru, takže když do
něj pak chceme zapisovat, použijeme příkaz document.all.sem.innerHTML=a; All se týká všech objektů
dokumentu, innerHTML formátu .
function cara2(n)
{n=window.prompt("Zadej počet hevězdiček","");
i=0;
a="";
while (i<=n)
{i=i+1;
a=a+"*";}
document.all.sem.innerHTML=a;
}
</Script>
Ve funkci čára 2 je cyklus, při každém průchodu přidáme do řetězce a jednu hvězdičku a zvýšíme hodnotu (i)
počítadla hvězdiček. Až počítadlo (a počet hvězdiček v čáře) dosáhne hodnoty zadané uživatelem, cyklus skončí.
</head>
<body>
<center>
<form>
<input type=button value="čára v novém okně" onclick=cara()>
<input type=button value="čára tady" onclick=cara1()>
<input type=button value="čára jakou chceš " onclick=cara2()>
</form>
Tady bude čára, pokud si to budeš přát <br>
<span id="sem">
</span>
.
17.
Datum a čas v JavaScriptu
Začlenění Java Appletů do stránek
Zobrazení data:
Dnes=new Date();
Document.write(dnes) Do proměnné dnes se dosadí dnešní datum. New je metoda, sloužící k aktivizaci
objektu Date, v dokumentu se vypíše datum a čas v neupravené formě. den=dnes.getDay();
funkce getday
vrací pořadové číslo dne objektu Date.
31
PDF vytvořeno zkušební verzí pdfFactory Pro www.fineprint.cz
mesic=dnes.getMonth(); pořadové číslo měsíce
rok=dnes.getYear();
rok
Podobně fungují funkce getHours(), getMinutes(), getSeconds()
Pozor na velká a malá písmena!
Příklad:
Hodinky
V textovém poli formuláře se na kliknutí objeví aktuální čas.
<SCRIPT language=Javascript>
function cas()
{
dnes=new Date();
hod=dnes.getHours();
min=dnes.getMinutes();
sek=dnes.getSeconds();
if (hod<10)
c="0"+hod;
if (min<10)
min="0"+ min;
if (sek<10)
sek="0"+sek;
c=hod+":"+min+":"+sek;
document.hodinky.cifernik.value=c;
}
function aut()
{dnes=new Date();
hod=dnes.getHours();
min=dnes.getMinutes();
sek=dnes.getSeconds();
if (hod<10)
c="0"+hod;
if (min<10)
min="0"+ min;
if (sek<10)
sek="0"+sek;
c=hod+":"+min+":"+sek;
document.hodinky.cifernik.value=c;
setTimeout("aut()",1000);
}
</script>
</head>
<body>
<center>
<hr>
<form name="hodinky">
<input type="text" size=10 name="cifernik" >
<input type=button value="hodinky" onclick="cas()">
<hr>
<input type=button value="automatika" onclick="aut()">
</orm>
</center>
setTimeout("aut()",1000);-funkce aut bude automaticky volána každou sekundu.
Java – applety
Java je moderní objektově orientovaný jazyk, který se používá pro vývoj internetových aplikací. Java – applet je
speciální typ programu, který funguje pouze v prostředí webového prohlížeče. Nemá povolen některé operace
(např. přístup na disk) – což řeší problematiku bezpečnosti. Jsou schopny běžet na počítačích s různými
operačními systémy, protože se nepřekládají do strojového kódu (exe) ale do tzv. bajtového ködu, který je
32
PDF vytvořeno zkušební verzí pdfFactory Pro www.fineprint.cz
interpretován JVM (Java Virtual Machine – je v současnosti součástí nových verzí prohlížečů, jinak se dá
stáhnout z Internetu.)
Applety se hodí např. k vylepšení grafického designu stránek (navigační lišty, animovaná tlačítka) ale také
obsahují hry, chaty, simulace apod.
Kde hledat:
http://www.javaboutique.com
http://www.gamelan.com
Většinou jsou archivovány v souborech .zip, kde kromě souboru s appletem je soubor .htm s experimentální
stránkou a textový soubor s návodem, jak applet použít.
Soubory s applety mají příponu .class. Tento soubor uložíme do adresáře s webovou stránkou, kde chceme
applet použít
Na vlasní stránku se umístí do tagů <applet>…</applet>
<applet code=”soubor.class> width=150 height=150>
<param name=”barva” value=”red”>
…</applet>
code – umístění souboru s appletem
width – velikost okna, ve kterém má applet běžet (lze vynechat)
height - dtto.
param – použijeme dle návodu autora, pokud v programu můžeme specifikovat nějaké vlastní hodnoty. (např.
barvu nebo rozměry něčeho)
18.
Úvod do MySQL
Poznámka: Doporučujeme zopakovat si úvod do databází – pojem záznamu, pole, , základní příkazy SQL. .
Stručně:
Databáze je většinou tvořena několika souvisejícími tabulkami, které popisují nějaký reálný objekt. (knihovnu,
vaše koníčky, podnik…) Tabulky se skládají ze záznamů – údajů o objektech. (jméno, adresa, plat, IQ…) údaje
mohoi být číselné, textové, ale také logické nebo obrázky. Množina údajů stejného typu pro všechny údaje v
tabulce se nazývá pole. (všechna jména) Tabulky navrhujeme co nejmenší, tak, abychom se vyhnuli nadbytečným
údajům, ale také tak, abychom je mohli vzájemně propojovat podle určitých společných polí. jedno pole, jehož
hodnoty jsou unikátní pro každý záznam (neexistují dva záznamy se stejnou hodnotou tohoto pole) definujeme
jako primární klíč, podle kterého je tabulka setříděna.
Budeme pracovat s textovým klientem mysql, který je součástí distribuce databáze.
Spustíme nejprve apache, pak dávku mysql_start. Z adresáře mysql/bin spustíme klienta mysql. Klient zobrazí
svůj prompt mysql> a můžeme zadávat příkazy, které oddělujeme středníky.
Novou databázi založíme příkazem:
create jméno_databáze;
drop jméno_databáze;
odstranění databáze
show databases;
zobrazí všechny databáze
use jméno_databáze;
otevření hotové databáze, se kterou chceme pracovat.
33
PDF vytvořeno zkušební verzí pdfFactory Pro www.fineprint.cz
show tables;
vypíše seznam tabulek vytvořených v aktuální databázi.
create jmenotabulky (
vytvoření tabulky
jmeno1.udaje typ,
….
jmeno posledního udaje typ
);
Nejběžnější typy polí:
varchar
textové pole o max. 256 znacích
text
text o délce max. 65565 znaků
date
datum (yyyy—mm-dd)
int
celé číslo od -2147483648 do 2147783647
float
reálná čísla
Pokud definujeme sloupec s atributem NOT NULL,nemohou obsahovat prázdnou hodnotu.
Klíčovou položku v definici uvádíme jako parametr příkazu PRIMARY KEY
Typ int znamená celé číslo, double reálné číslo a char(20} řetězec o 20 znacích
insert into jmenotabulky (hodnota1.udaje,….hodnota posledniho udaje)
drop table jmeno;
explain jmeno;
vložení záznamu do tabulky,
položky se oddělují čárkami, text
se vkládá mezi apostrofy.
vymazání tabulky
zobrazí strukturu tabulky
Další příkazy ukážeme přímo na příkladech s tabulkou králící.
select * from kralici;
zobrazí všechny údaje z tabulky
select jmeno, cena form kralici; zobrazí z tabulky pouze uvedená pole
select * from kralici where cena>100
zobrazí králíky dražší než 100 penez.
Relační operátory se užívají stejné jako v PHP, podmínky je možno spojovat ": and – a zároveň, or – nebo
select jmeno, cena form kralici where jmeno='Rváč' or jmeno='Kulička'
Výsledky výpisů mohou být setříděny:
select jmeno, cena from kralici order by jmeno; požadované výpisy setříděné dle jména abecedně
update kralici
změní cenu a jméno králíka číslo3.
set cena=500,
jmeno='Bublinka'
where id=3;
delete from kralici where cena<100
smaže nevratně všechny levné králíky
34
PDF vytvořeno zkušební verzí pdfFactory Pro www.fineprint.cz
PhpMyAdmin
prostředí vytvořené v PHP, které umožňuje pohodlnější správu databází. Některé funkce, který tento program
využívá, si ukážeme dále.
Spuštění:
V internetovém prohlížeči zapíšeme adresu:
http://localhost/phpmyadmin/
V prostředí se dá intuitivně dobře pracovat,.
Struktura – změna struktury databáze (přidání pole, změny typu apod.)
Projít – zobrazení údajů
SQL – zapíšeme přímo příkaz v SQL
Vybrat – zobrazení určitých polí
Vložit – vložení záznamu
Export – např. do Excelu:
Pokud zaškrtneme Poslat, můžeme soubor uložit a pak v Excelu otevřít jako textový formát CSV.
Úpravy – změny tabulky jako celku
Vyprázdnit – vyprázdní tabuůu (příkaz truncate)
Odstranit – příkaz drop
35
PDF vytvořeno zkušební verzí pdfFactory Pro www.fineprint.cz
19.
MySQL v PHP
Pohodlnější obsluhu MySQL systému si opatříme prostřednictvím skriptů, v poslední kapitole si ukážeme další
příklady. Je to kombinace, kterou dnes používají velké weby, je spolehlivá, výkonná a rychlá.
K databázi je nejprve třeba se připojit:
mysql_connect(server, uživatel, heslo)
Pokud se připojujeme k localhost: mysql_connect('localhost', '', '')
Pro webzdarma: server je 'mysql.webzdarma.cz', dále vaše uživatelské jméno a heslo
Volba databáze:
mysql_select_db('test') jméno databáze opět v apostrofech.
Zadávání příkazů :
$vysled=mysql_query('select * from student');
proměnná $vysled má hodnotu false, pokud akce neproběhla správně, jinak obsahuje záznamy tabulky.
mysql_num_rows($vysled) je funkce, která udává počet záznamů (řádků) proměnné $vysled.
Data získaná z tabulky zpracováváme po jednotlivých záznamech pomocí funkce
mysql_fetch_array($vysled), která uloží aktuální záznam do pole, jednotlivé položky představují sloupce(pole)
databáze.
$radek=mysql_fetch_array($vysled); – záznam uložíme do proměnné $radek
Cyklus while($radek) potom pracuje, dokud nepřečte všechny řádky.
Příklad:
Výpis tabulky student do html tabulky. Tbulka má pole id – číslo studenta, jméno – řetězec a body – celé číslo
<?
mysql_connect('localhost','','');
mysql_select_db('test');
$vysled=mysql_query('select * from student');
echo "Počet záznamů v databázi je".mysql_num_rows($vysled);
$radek=mysql_fetch_array($vysled);
echo"<br>";
echo"<table border='1'>";
echo"<tr>";
echo"<td> ID</td>"."<td> Jmeno</td>"."<td> Body</td>";
echo "</tr>";
while($radek)
{
echo"<tr>";
echo"<td>". $radek[0]."</td>"."<td>". $radek[1]."</td>"."<td>".$radek[2]."</td>";
echo "</tr>";
$radek=mysql_fetch_array($vysled);
}
echo "<table>";
?>
Příklad 02 užívá velmi jednoduchý formulář pro zadání PHP dotazu, neošetřuje ovšem vstupní chyby. 01
umožňuje pomocí formuláře zadávat data do tabulky,.
Při stisknutí tlačítka Uložit (hodnota $uloz je true) se obsah textové oblasti uloží do proměnné $php a je odeslán
databázi.
……..
if ($uloz)
{
36
PDF vytvořeno zkušební verzí pdfFactory Pro www.fineprint.cz
$vysled=mysql_query($php);
}
else
{
$vysled=mysql_query('select * from student');
}
Formulář:
echo ("<form action=\"$PHP_SELF\"METHOD = \"POST\">");
echo ("PHP dotaz :<br><TEXTAREA COLS='60' ROWS='3' VALUE='$body' NAME='php'
></textarea><br>");
echo ("<br><INPUT TYPE=\"SUBMIT\" VALUE=\"Ulozit\"
NAME=\"uloz\"><br>\n");
echo("</form>");
20.
Několik hotových příkladů na závěr
Chat
Zprávy od účastníků diskuse se ukládají do souboru zpravy.txt. O vlastní diskusi pečuje skript chat.php. Na
stránce pridat.html je formulář pro odslání zprávy, kterou předá skriptu przpr.php a uloží ji do souboru
zpravy.txt
PZK
zpracovává výsledky příjímacích zkoušek.
Vytvor.php vytvoří prázdnou databázi s požadovanou strukturou.
Textové soubory jmeno.txt, body.txt a id.txt obsahují jednotlivá pole databáze (dají se dobře získat jako výstup
jiného programu, ve kterém byly PZK původně zpracovávány)
Edit.php nejprve načte data z těchto souborů do jendotlivývh polí a pak je uloží do databáze.
$pid = file("id.txt");
$pjmeno = file("jmeno.txt");
$pbody = file("body.txt");
$i=0;
while ($i<count($pid))
{
$pbody[$i]=$pbody[$i]*1;
if ($pbody[$i]>100 )
{
$prijat='ANO';
}
else
{
$prijat='NE';
}
$sql = "INSERT INTO uchazeci (id, jmeno,body, prijat) VALUES ('$pid[$i]','
$pjmeno[$i]','$pbody[$i]','$prijat')";
$vysledek = mysql_db_query( $databaze, $sql);
if ( !vysledek )
{
$chyba=mysql_errno(). ": ".mysql_error();
echo "<br>";
echo $chyba;
echo "<br>";
}
37
PDF vytvořeno zkušební verzí pdfFactory Pro www.fineprint.cz
$i++;
}
Info.php zobrazí údaje o adeptu, jehož ID zadáme.
Počítadlo
počítadlo přístupů na stránku, pocitadlo.php volá programovou jednotku pocitadlo.inc direktivou include:
<?php include("pocitadlo.inc"); ?>
Knihy
Nejprve je nutno vytvořut prázdnou databázi (vytvor.php), potom ji naplnit knihami a čtenáři voláním
příslušných skriptů.
Datum a čas
příklady ukazují různý přístup k časovým informacím. Mj. se vyzžívá toho, že indexy plí mohou být řetězce –
např. zkratky anglických názvů měsíců, které lze získat při formátovaném výstupu času.
Příklad formátovaání časových údajů:
Date("d.m.Y H:i:s")
d – číslo dne v měsící 01 – 31
m – Číslo měsíce 01 – 12
Y – rok jako čtyřčíslí (2004)
H – hodina 00 – 23
i – minuta – 00 – 59
s – sekunda – 00 – 59
Některé další možnosti:
y – rok jako dvojčísli
A – indikátor dopoledne/odpoledne (AM/PM)
M – anglická zkratka měsíce
D – anglická zkratka dne v týdnu
F – anglické jméno měsíce
l – anglické jméno dne v týdnu
w – číslo dne v týdnu 1 – 7
Studijní literatura:
Petr Klán, Jindřich Jindřich: WWW pro zelenáče Neocortex 2002
Jiří Kosek: PHP Tvorba interaktivních internetových aplikací Grada1999
Vojtěch Smidek, Jaroslav Berit, Lubor Mrázek: PHP v příkladech Kopp 2001
Lucie Grusová: CSS pro úplné začátečníky (Computer Press 2003)
Obsah
1. Základy tvorby Webových stránek Struktura dokumentu Psaní textu, nadpisy, odstavce.1
Pravidla: ....................................................................................................................................... 1
Struktura dokumentu................................................................................................................... 1
Psaní textu, nadpisy, odstavce ...................................................................................................... 3
2. Obrázky Seznamy..............................................................................................................4
Obrázky ........................................................................................................................................ 4
Seznamy ........................................................................................................................................ 5
3. Hypertextové odkazy Multimédia......................................................................................5
Hyperlinky .................................................................................................................................... 5
38
PDF vytvořeno zkušební verzí pdfFactory Pro www.fineprint.cz
Obrázek jako odkaz...................................................................................................................... 6
Vkládání multimediálních prvků ................................................................................................. 6
Běžící text ...................................................................................................................................... 6
4. Tabulky.............................................................................................................................7
Atributy: ....................................................................................................................................... 7
5. Kaskádové styly – úvod, vlastnosti písma..........................................................................8
Definice stylu................................................................................................................................. 8
Připojení stylu k dokumentu........................................................................................................ 8
Slučování definic........................................................................................................................... 9
Dědění vlastností........................................................................................................................... 9
Některé vlastnosti písma............................................................................................................... 9
6. Kaskádové styly – selektory, barvy a pozadí ....................................................................10
Výběr prvku podle jména: ......................................................................................................... 10
Kontextové selektory (výběr prvků podle umístění).................................................................. 10
Výběr prvků podle atributu ID .................................................................................................. 10
Elementy span a div.................................................................................................................... 11
Pseudotřídy ................................................................................................................................. 11
Barvy a pozadí ............................................................................................................................ 11
Vzorník zákl. 16 odstínů –VGA ................................................................................................. 12
Rozšířený vzorník na 64 odstínů ................................................................................................ 12
7. Kaskádové styly – rámečky a okraje, některé vlastnosti textu .........................................13
Border-width .............................................................................................................................. 13
Border-style ................................................................................................................................ 13
Border-color................................................................................................................................ 13
Padding ....................................................................................................................................... 13
Margin ........................................................................................................................................ 14
Některé vlastnosti textu .............................................................................................................. 14
Zarovnání, odsazení.................................................................................................................... 14
8. Kaskádové styly – vlastnosti zobrazení obsahu prvků, obtékání, pozicování....................15
Display ........................................................................................................................................ 15
List .............................................................................................................................................. 15
Šířka a výška prvků.................................................................................................................... 15
Obtékání ..................................................................................................................................... 16
Pozicování prvků ........................................................................................................................ 16
9. Klikací mapy, orientační seznámení s rámy....................................................................16
Rámy ...................................................................................................................................17
39
PDF vytvořeno zkušební verzí pdfFactory Pro www.fineprint.cz
Definice rozložení rámů.............................................................................................................. 17
Definice obsahu rámů................................................................................................................. 17
10. Formuláře.....................................................................................................................18
Prvky formuláře ......................................................................................................................... 19
Element INPUT .......................................................................................................................... 19
Text ............................................................................................................................................. 19
Password ..................................................................................................................................... 19
Checkbox .................................................................................................................................... 19
Radio ........................................................................................................................................... 20
Tlačítka ....................................................................................................................................... 20
Tlačítko s grafikou...................................................................................................................... 20
TextArea ..................................................................................................................................... 20
Select ........................................................................................................................................... 20
11. Úvod do skriptů PHP proměnná a její hodnota ............................................................21
Komentáře .................................................................................................................................. 21
Proměnná.................................................................................................................................... 21
Některé operátory....................................................................................................................... 23
12. Úvod do PHP – větvení programu .................................................................................23
13. Úvod do PHP – cyklus ..................................................................................................25
14. Úvod do PHP – pole, spolupráce s textovým souborem .................................................26
15. Úvod do JavaScriptu – základní příkazové konstrukce................................................28
Podmíněný příkaz....................................................................................................................... 29
Cyklus ......................................................................................................................................... 30
16. JavaScript – Funkce.....................................................................................................30
17. Datum a čas v JavaScriptu Začlenění Java Appletů do stránek ...................................31
Java – applety ............................................................................................................................. 32
18. Úvod do MySQL ...........................................................................................................33
PhpMyAdmin ............................................................................................................................. 35
19. MySQL v PHP ..............................................................................................................36
20. Několik hotových příkladů na závěr..........................................................................37
Chat............................................................................................................................................. 37
PZK............................................................................................................................................. 37
Počítadlo ..................................................................................................................................... 38
Knihy........................................................................................................................................... 38
Datum a čas................................................................................................................................. 38
Studijní literatura:...................................................................................................................... 38
Obsah ..................................................................................................................................38
40
PDF vytvořeno zkušební verzí pdfFactory Pro www.fineprint.cz
41
PDF vytvořeno zkušební verzí pdfFactory Pro www.fineprint.cz

Podobné dokumenty

HTML – tvorba dokonalých WWW stránek

HTML – tvorba dokonalých WWW stránek Obrázky . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 4.1 Vložení obrázku do stránky . . . . . . . . . . . . . . . . . . . . . ....

Více

HTML

HTML barva pro světlou část rámečku bgcolor... barva pozadí background... tapeta v pozadí frame... ohraničení buňek none nebo void = bez ohraničení above = horní strana below = dolní strana hsides = hor...

Více

Best practice -- Pravidla pro tvorbu přístupného webu -

Best practice -- Pravidla pro tvorbu přístupného webu - internetových prohlížečích pohodlně zvětšit velikost písma, neobsahují předpisy definující jeho velikost jednotky, které by toto zvětšení znemožňovaly. Velikost písma tudíž není definována pomocí j...

Více

Studijní opora pro OOM

Studijní opora pro OOM názvů, které obsahovaly teorii, kterou jsem chtěl zobrazit. Do textu jsem také vložil html tagy, které umožnily lepší přehlednost textu tím, že jej naformátovaly. Napomohl také externí soubor s kas...

Více

07_Vykres koncepce usporadani krajiny

07_Vykres koncepce usporadani krajiny JJJ J J JJ JJ JJ J J JJ JJ JJ J JJ JJ JJ J JJ JJ JJ J JJ JJ JJ J J JJ JJ JJ J JJ JJ J

Více

PHP příkazy PHP lze vkládat přímo do XHTML

PHP příkazy PHP lze vkládat přímo do XHTML echo "Toto je obsah stránky"; include "zapati.php"; ?> zahlavi.php Více

Tvorba klientských skriptů v jazyce Java Script

Tvorba klientských skriptů v jazyce Java Script 3 ZPŮSOB ZÁPISU JAVASCRIPTU DO DOKUMENTU JavaScript se do webové stránky dá zapsat třemi způsoby:  Pomocí značek do proudu dokumentu  Pomocí značek s odkazem n...

Více

Studijní opora. - Katedra technické a informační výchovy PdF UP v

Studijní opora. - Katedra technické a informační výchovy PdF UP v množství webových editorů, tzv. WISIWYG (co vidíš, to dostaneš), které umožňují tvořit webové stránky v podstatě každému. Připomeňme například MS Publisher, Expresion Web 2, Web Page Maker nebo již...

Více