Středa 7. září Anonymní test znalostí
Středa 21. září
PHP je programovací jazyk, který pracuje na straně serveru. S PHP můžete ukládat a měnit data webových stránek. PHP původně znamená Personal Home Page a vzniklo v roce 1996, od té doby prošlo velkými změnami a nyní tato zkratka znamená Hypertext Preprocessor. Aby váš počítač uměl zpracovávat PHP skripty, potřebujete na něm spustit webový server a nainstalovat PHP. Webový server můžete nainstalovat buď samostatně (například velmi oblíbený Apache), nebo využít některého instalačního balíku, které nejčastěji obsahují Apache, PHP a databázi MySQL, anebo si vystačit s Internetovou informační službou (IIS), která je součástí některých verzí Windows.
PHP není nijak těžké pochopit a už se základy si lze vystačit. Umí ukládat, měnit a mazat data. Vše se odehrává na webovém serveru (kde jsou uloženy zdrojové kódy webových stránek). PHP skript se nejprve provede na serveru a potom odešle prohlížeči pouze výsledek (znamená to, že nejprve spočítá kolik je 300/30 a pak prohlížeči odešle jen číslo 10). Proto ve zdrojovém kódu najdete jen "10" (to je rozdíl oproti JavaScriptu, který počítá přímo v prohlížeči). Zdrojový kód PHP narozdíl od JavaScriptu a HTML nezobrazíte. Pomocí PHP je možné vytvořit diskuzní fórum, knihu návštěv, počítadlo, anketu, graf a dokonce si pomocí jednoduchého kódu můžete zlikvidovat celý obsah webu. Navíc máte možnost propojit vaše stránky s databázemi, např. MySQL.
K práci budeme využívat souborového manažeru Unreal Commander – alespoň si ho procvičíme
nejprve najdeme na disku C: složku web a tu si otevřeme
vytvoříme v ní nový soubor (Shift + F4) s příponou php, např. pozdrav.php
Syntaxe Programovací kód jazyka PHP je na začátku a na konci ohraničený značkami: a ? > (někdy )
každý řádek musí být zakončen středníkem
příkaz echo vytiskne jeden nebo více řetězců Př.
Proměnné
vyznačují se tím, že jejich jméno začíná znakem $ (pravý Alt+ů)
hodnota se do proměnné uloží pomocí =
nesmí začínat číslem
je lepší psát bez diakritiky
je-li proměnná ze dvou slov, je třeba spojit je podtržítkem ($prvni_cislo)
záleží na velikosti písmen ($Jmeno $jmeno)
je-li hodnota proměnné text, píšeme ji do uvozovek ($jmeno = “Jana“), pokud je hodnotou číslo, píšeme bez uvozovek ($cislo = 12.5, místo des. čárky píšeme tečku)
Spojování řetězce s proměnnou provádíme pomocí tečky
Př.
Středa 5. října Vytváření formuláře a jeho vyhodnocení formular.html
Dotazník
zpracuj.php $jmeno=$_POST["jmeno"]; $prijmeni=$_POST["prijmeni"];
echo "Jmenujete se " . $jmeno ." " . $prijmeni . "
"; ?>
Středa 12. října Pokračování tvorby a vyhodnocení formuláře formular.html
Dotazník
zpracuj.php $jmeno=$_POST["jmeno"]; $prijmeni=$_POST["prijmeni"]; $trida=$_POST["trida"]; echo "Vaše jméno je " . $jmeno . $prijmeni;
echo "
"; echo "Vaše třída je " . $trida; ?>
Středa 19. října Pokračování tvorby a vyhodnocení formuláře formular.html
Dotazník
zpracuj.php $jmeno=$_POST["jmeno"]; $prijmeni=$_POST["prijmeni"]; $trida=$_POST["trida"]; $it=$_POST["it"]; echo "Vaše jméno je " . $jmeno . $prijmeni; echo "
"; echo "Vaše třída je " . $trida; echo "
"; echo "Informační technologie " . $it . ".
"; ?>
Středa 2. listopadu Prověrka
Středa 9. listopadu Hotový formulář formular.html
Dotazník
zpracuj.php $jmeno=$_POST["jmeno"]; $prijmeni=$_POST["prijmeni"]; $trida=$_POST["trida"]; $it=$_POST["it"]; $bavi1=""; if ( isset($_POST["bavi1"]) ) /*isset testuje, jestli proměnná existuje, zde to znamená, byla-li zaškrtmuta*/ $bavi1=$_POST["bavi1"]; $bavi2=""; if ( isset($_POST["bavi2"]) ) $bavi2=$_POST["bavi2"]; $bavi3=""; if ( isset($_POST["bavi3"]) ) $bavi3=$_POST["bavi3"]; echo "Vaše jméno je " . $jmeno . " " . $prijmeni; echo "
"; echo "Navštěvujete třídu " . $trida; echo "
"; echo "Informační technologie " . $it . ".
"; echo "Baví mne "; echo " " . $bavi1; echo " " . $bavi2; echo " " . $bavi3; ?>
Přihlášení uživatelským jménem a heslem heslo.html
heslo prihlaseni.php $spravne_jmeno="Nováková"; $spravne_heslo="kvinta11"; if ($_POST["jmeno"]==$spravne_jmeno and $_POST["heslo"]==$spravne_heslo) echo “Jsi přihlášen“; else echo "Není správné heslo nebo jméno"; ?>
Středa 23. listopadu Soubor prihlaseni .php, zpracuje přihlašovací formulář a otevře stránku formular.html $spravne_jmeno="ivana"; $spravne_heslo="matylda"; If ($_POST["jmeno"]==$spravne_jmeno and $_POST["heslo"]==$spravne_heslo) Header ("Location:formular.html") else echo "Není správné heslo nebo jméno"; ?>
Funkce pro práci s datem a časem Funkce time vrací aktuální časové razítko - počet sekund od 1. 1. 1970 00:00:00 Funkce date formátuje místní datum a čas datum.php echo time(). "
"; echo date("d.m.Y"); ?>
Seznam parametrů pro funkci date (vytvořil Slávek Müller)
Funkce mktime vrací unixové časové razítko k zadanému datu a času (tj. počet sekund, které uplynuly od 1. 1. 1970 k určenému datu a času).
$zvoni=mktime(9,25,0,11,23,2011)-time(); echo date("j n Y") ."
"; echo time() ."
"; echo mktime(9,25,0,11,23,2011)."
"; //hodina, minuta,sekunda,měsíc,den,rok echo "Zvoní za " .$zvoni/60 ." minut"; ?>
Středa 30. listopadu Samostatně – napsat program, který ukazuje, kolik dní zbývá do Štědrého dne $vanoce = mktime(0,0,0,12,24,2011); $zbyva=$vanoce-time(); echo "Do Štědrého dne zbývá " . floor(($zbyva/3600)/24) . " dní"; ?>
Funkce floor() vrátí nejbližší menší celé číslo, než je v parametru. V podstatě vezme parametr a odstraní z něj desetinou část. Jestliže parametr je už celé číslo, funkce vrátí to samé číslo.
Větvení v PHP Větvení je skupina příkazů, které rozhodují (porovnávají proměnné) a určují, jak se bude skript dál vyvíjet. Jsou to příkazy typu if, else, elseif a switch.
$a==$b
Porovnávací operátory $a má stejnou hodnotu jako $b
$a!=$b
$a má jinou hodnotu než $b
$a>$b
$a je větší než $b
$a<$b
$a je menší než $b
$den="pátek"; if ($den=="středa") echo "Dnes je středa"; else echo "Dnes není středa, je $den"; ?>
Středa 7. prosince Program, který rozhodne, zda je číslo kladné, záporné nebo nula $a=-6; If ($a>0) echo "Číslo $a je kladné"; elseif ($a==0) echo "Číslo je nula"; else echo "Číslo $a je záporné"; ?>
Lepší by samozřejmě bylo zadávat číslo přes formulář, ale pro pochopení problému stačí měnit čísla přímo v kódu Prográmek na stránky, který pozdraví uživatele podle denní doby echo "Je právě " . date("G") . " hodin " . date("i") . " minut "; echo "
"; $minuty=(date("G")*60+date("i")); echo $minuty . "
"; If ($minuty<510) echo "Dobré ráno"; elseif ($minuty<710) echo "Pěkné dopoledne"; elseif ($minuty<740) echo "Příjemné poledne"; elseif ($minuty<1080) echo "Krásné odpoledne"; elseif ($minuty<1380) echo "Klidný večer"; else echo "Dobrou noc, sladké sny"; ?>
Středa 14. prosince Prověrka
Středa 4. ledna Příkaz include - vkládání částí kódu / skriptů z externího souboru Možností využití "include" je spousta, ale pro tyhle případy je důležité: to, co se opakuje na dvou a více stránkách, napíšeme jen jednou, uložíme zvlášť do souboru, a do všech stránek, kde se to má zobrazit, jen dáme php příkaz include, který načte a na dané místo vloží obsah onoho souboru. Když pak obsah toho externího souboru změníme, samozřejmě se na všechny stránky bude načítat aktuální verze, tj. včetně změny. Tu tedy stačí udělat jen jednou. index.php
Středa 11. ledna Cykly v PHP Cykly se používají, chceme-li opakovat určitou činnost, několikráte za sebou, opakovaně provádět stejnou proceduru. Postupně ověřovat data, nebo generovat informace. V programování rozeznáváme tři typy cyklů: 1. cyklus s podmínkou na konci 2. cyklus s podmínkou na začátku 3. cyklus s předem daným počtem opakování
//cyklus s podmínkou na konci $x=1; do { echo($x . " "); $x=$x+1; } while ($x<25); //$x++ je totéž jak $x=$x+1 echo "
"; //cyklus s podmínkou na začátku $x=1; while ($x<25){ echo($x . " "); $x++; } echo "
"; //cyklus s daným počtem opakování for ($x=1; $x<=30;$x++){ echo($x . " "); } ?>
Středa 25. ledna Datové typy v PHP Integer Double String Array Object
celé číslo desetinné číslo znakový řetězec pole objekt
O typy proměnných se většinou nemusíme starat, protože se podle potřeby automaticky konvertují na vhodný typ.
Pole Pole je speciální datová struktura, ve které jedna proměnná může obsahovat několik hodnot. Tyto hodnoty jsou přístupné pomocí indexu. Index prvku pole se zapisuje do hranatých závorek: $a[0]=“Jana“; $a[1]=“Ivoš; $a[2]=“Manka“; Prvky pole nemusí mít stejný datový typ $x[0]=2; $x[1]=3.14; $x[2]="Matěj"; Jiný způsob zápisu pole $b= array(8, 12, 6, 7, 10) Generování náhodného prvku – funkce rand $nahodne = rand (1, 25);
//vybere náhodné číslo z intervalu 1 – 25
Funkce count – spočítá počet prvků v poli echo “Pole má “ . count($b) . “ prvků“; Vypsání prvků pole pomocí cyklu s daným počtem opakování $pole = array("Jana", "Dáša", "Zdena", "Josef", "Pepe", "Lukáš"); for ($i=0; $i
Vypsání náhodného prvku z pole echo $pole[rand (0,Count($pole))]; Část kódu ze souboru murphy.php, který náhodně vygeneruje vždy jeden z tzv. Murphyho zákonů a zobrazí jej na webové stránce:
Soubor je do stránky vložen pomocí funkce include: include "murphy.php"?> Vytvoření stránky s počítadlem přístupů na stránku, není ošetřeno více načtení z jednoho počítače, to znamená, že při každé aktualizaci se počítadlo zvýší
Stránka s počítadlem $file = "pocet.inc"; //soubor do kterého se to ukládá $open_file = fopen ($file,'r+'); //otevře soubor pro čtení a zápis $pocet = fread ($open_file, '100("file")') + 1; //přičte k $open_file 1 rewind ($open_file); //nastavení na začátek souboru fwrite ($open_file, $pocet); //zapíše do souboru aktuální počet přístupů fclose ($open_file); //zavře soubor ?>
Stránka s počítadlem
Jste include $file; ?>. návštěvník této stránky
Vložení data, kdy byla stránka naposledy aktualizována Poslední aktualizace stránky proběhla echo(StrFTime("%d/%m/%Y", getLastMod())); ?>