PHP – Základy programování

Slides:



Advertisements
Podobné prezentace
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.
Advertisements

Přístup k databázím z WWW
Vlastní skript může být umístěn: v hlavičce stránky v těle stránky
Dynamické dokumenty na straně klienta Informatika pro ekonomy II.
IKT PHP PHP Tvorba formuláře - 10 Mgr. Josef Nožička
Tvorba webových stránek
Tvorba WWW stránek ÚVOD
Martin Holý.  HTML  xHTML  CSS  JavaScript  PHP.
Formuláře Formuláře lze nalézt téměř na každém webu. Formuláře lze nalézt téměř na každém webu. Použití formulářů: Použití formulářů: Blog Blog Uživatelské.
HyperText Markup Language
Jazyk HTML Název školyZákladní škola a Mateřská škola Tatenice Číslo projektuCZ Název šablony klíčové aktivity Inovace a zkvalitnění výuky pomocí.
Základy html pro úplné začátečníky.
HYPERTEXT PREPROCESSOR. JAZYK PHP. Jazyk PHP (Hypertext PreProcessor) je intepretovaný jazyk určený pro web. Je celkem jednoduchý, snadno přenositelný.
Tvorba www stránek SYNTAXE ICT 4.ročník. Obsah TAGY TAGY ATRIBUTY ATRIBUTY KŘÍŽENÍ TAGŮ KŘÍŽENÍ TAGŮ VELIKOST PÍSMEN VELIKOST PÍSMEN MEZERY VE ZDROJOVÉM.
TVORBA WEBOVÝCH STRÁNEK
PHP – vkládání souborů a html 5
UŽITEČNÉ PROGRAMY – MŮJ PRVNÍ SKRIPT Spustíme více prográmků najednou. SPŠ Teplice - 3.V.
Úvod do databází Databáze.
PHP PHP – základy syntaxe (část 1) - 03 Mgr. Josef Nožička IKT PHP
Tvorba webových aplikací
Elektronická pošta Elektronická pošta ( ) je obdobou běžné pošty a umožňuje přijímat a distribuovat dokumenty v textové podobě na jednu nebo více.
Apache, PHP, MySQL Lukáš Masopust Web server Apache Aplikace schopná zpracovat HTTP požadavek Nejpoužívanější Web server Vytváří ho The Apache.
Moderní formy tvorby webových stránek Martin Šebela, 9.A vedoucí práce: Mgr. Jan Kříž.
PHP – zasílání dat z formuláře
FTP – přenos souborů Tato služba se používá pro přenos souborů pomocí přenosového protokolu FTP. Pro tuto službu existují speciální klienti, kteří se dokáží.
Návrh a tvorba WWW Přednáška 1
Technologie sítě Internet. Technologie Internetu jsou v dnešní době široce používány a představují často rozhodující faktor úspěšnosti firem. Nejpoužívanější.
Aplikace VT v hospodářské praxi internetové technologie Ing. Roman Danel, Ph.D. VŠB – TU Ostrava.
Internet.
Maturitní okruh 22: Úvod do HTML. Značkovací a klasické jazyky Klasické: převládá strukturovaný text (programovací kód), skripty jsou prováděny na straně.
Proměnné v PHP Každý programovací jazyk pracuje s nějakými hodnotami. To, do čeho se tyto hodnoty ukládají, se nazývá proměnné. Každý programovací jazyk.
PHP Úvod do programování Kontaktní údaje: Ing. Antonín Skopec
Návrh a tvorba WWW Cvičení 4
Jazyk PHP Programovací jazyk PHP (Hypertext preprocessor) je skriptovací jazyk, který běží na straně serveru. KLIENT - SERVER Server posílá do vašeho počítače.
CSS styly Kaskádové styly (CSS – Cascading Style Sheets) jsou prostředkem, který zajišťuje jednotný vzhled publikovaných stránek. Technologii CSS podporují.
Dílna Caché II. CSP pro pokročilé Tomáš Vaverka. Zdroje HTML Tag Reference v sekci Reference Material v dokumentaci Caché HTML Tag Reference v sekci Reference.
Grafická podoba ŠVP Platí pro: MS WORD OpenOffice.org v jakékoli verzi.
Návrh a tvorba WWW Přednáška 5 Úvod do jazyka PHP.
Příkaz "echo" Příkaz "echo" Příkaz "echo" se používá pro zobrazení daných informací na monitoru. Příkaz "echo" se používá pro zobrazení daných informací.
Internet.  Celosvětový systém propojených počítačů  Funkce  Sdílení dat  Elektronická pošta.
Dynamické dokumenty na straně serveru Informatika pro ekonomy II přednáška 8.
WWW – hypertextový informační systém
PROGRAMOVÁNÍ V PHP PERSONAL HOME PAGES SESSIONS. 2 COOKIES JEDNÁ SE O KRÁTKÉ TEXTOVÉ ŘETĚZCE, JEŽ SI MEZI SEBOU VYMĚŇUJÍ WEBOVÝ SERVER A WEBOVÝ KLIENT.
AJAX nejmodernější webová technologie… seminář pro učitele ZŠ a SŠ Mgr. Marek Osuchowski Ostravská univerzita © 2011.
Úvod do JavaScriptu JavaScript je p JavaScript je programovací jazyk, který se používá na webových stránkách. JavaScript je typu KLIENT - KLIENT To znamená,
PHP Souhrnné cvičení Mgr. Josef Nožička IKT PHP
WWW stránky – Úvod Mgr. Lenka Švancarová.
Elektronický registr oznámení Zpracoval(a): Mgr. František Rudecký
URL v HTML URL - Unique Resource Locator Příklad:
Základy syntaxe jazyka PHP PHP JE TECHNOLOGIE BĚŽÍCÍ NA SERVERU. PHP JE TECHNOLOGIE BĚŽÍCÍ NA SERVERU. Typický PHP skript obsahuje: Typický PHP skript.
2 Petr Žitný znalosti.vema.cz 3 Báze znalostí Nová služba zákazníkům ▸Báze naplněná informacemi, ke které mají uživatelé přímý přístup Základní cíl ▸Poskytovat.
IBM Global Services Ing. Stanislav Bíža, Senior IT Architect, CISA © 2005 IBM Corporation Rizika napadení webových aplikací Konference ISSS 2005 Title.
PHP PHP - úvod - 02 Mgr. Josef Nožička IKT PHP
Úvod do PHP IZI 228.
Obchodní akademie, Ostrava-Poruba, příspěvková organizace Vzdělávací materiál/DUM VY_32_INOVACE_01B10 Autor Ing. Jiří Kalousek Období vytvoření prosinec.
Přístup k databázím z WWW PHP+MySQL. Síť WWW je v současné době místem pro dynamické, často databázemi řízené webové aplikace. Tvorba webového serveru.
PHP Programy pro tvorbu WWW stránek - 01
HYPERTEXT PREPROCESSOR. JAZYK PHP. VYUŽITÍ JAZYKA Programování dynamických internetových stránek a webových aplikací vytvoření šablony webu kniha návštěv.
Jak fungují webové stránky Úvod do HTML (1). Projekt: CZ.1.07/1.5.00/ OAJL - inovace výuky Příjemce: Obchodní akademie, odborná škola a praktická.
Tvorba WWW stránek. Hyperlink Odkaz, bývá označený jinou barvou a podtržený Odkaz, bývá označený jinou barvou a podtržený Reaguje na událost myši – Reaguje.
Návrh a tvorba WWW Cvičení 1 HTML 5. Pracovní prostředí Vývojové prostředí NetBeans ( Webový server Apache (
ŠKOLA: Gymnázium, Chomutov, Mostecká 3000, příspěvková organizace AUTOR:Mgr. Martin Jiřiště NÁZEV:VY_32_INOVACE_08C_17_uvod_do_html TEMA:Multimédia a grafika.
1 Kurz XHTML a CSS Část 1: Náš první XTHML dokument a jeho publikace na internetu.
HYPERTEXT PREPROCESSOR. JAZYK PHP. VYUŽITÍ JAZYKA Programování dynamických internetových stránek a webových aplikací vytvoření šablony webu kniha návštěv.
Obchodní akademie a Jazyková škola s právem státní jazykové zkoušky Jihlava Šablona 32 VY_32_INOVACE_034.ICT.34 Tvorba webových stránek – PHP technologie.
WWW a HTML Základní pojmy Ivo Peterka.
WWW a HTML Základní pojmy Ivo Peterka.
Čo je PHP- PHP (PHP: Hypertext Preprocessor) je populárny open source (prístupné zdrojové kódy) skriptovací programovací jazyk Používa najmä na programovanie.
Web Application Scanning
Plně automatická linka pro produkci malonákladových knih
Transkript prezentace:

PHP – Základy programování

Obsah 7. Práce s hlavičkami v PHP 1. Historie na úvod 8. Práce s grafikou v PHP 9. Předávání dat do jiných stránek 10. Proměnné SESSION 11. Cookies 12. Použití databází v PHP 12.1. Základní příkazy MySQL 12.2. Použití MySQL v PHP 12.3. Příklad použití PHP a MYSQL 13. Užitečné informace lze nalézt 1. Historie na úvod 2. Instalace a konfigurace 3. Syntaxe PHP 3.1. Proměnné 3.2. Operátory 3.3. Pole 3.4. Struktury příkazů 3.5. Funkce 4. Formuláře 4.1. Prvky formuláře 4.2. Zpracování formuláře v PHP 4.3. Přístup k datům z formuláře 5. Práce se soubory 1 6. Protokol HTTP

1. Historie na úvod Statické stránky 1990 – první použití služby WWW, stránky pouze statické, založené na technologiích 1. HTML – jazyk pro zápis webových stránek 2. HTTP – přenosový protokol pro přenos HTML-stránek z WWW-serveru do prohlížeče 3. URL – každý objekt přístupný na WWW má jedinečnou adresu URL – lze na něj odkazovat Dynamické stránky následovaly inovace - automatické generování stránek proměnlivých v čase – CGI –skripty - ovlivnění chování CGI –skriptů uživatelem – formuláře nevýhodou byly pomalé odezvy serveru, náročná správa 1996 – Javascript – spouští skripty na lokálním počítači uživatele, nezatěžuje server, oživení stránek, ověřování vstupních dat, interakce s objekty na stránce, zpracování cookies 1994 – PHP – skripty se provádí na straně serveru, interakce s objekty na serveru (databáze), menší objem přenesených dat, vyšší ochrana zdrojových programů *uvedeny jsou pouze freeware produkty

2. Instalace a konfigurace Pro tvoření a spouštění skriptů PHP na lokálním počítači je nutné nainstalovat: 1. Překladač (interpret) jazyka PHP 2. Software pro Web server – APACHE 3. Databázový systém – MySQL Pro zjednodušení lze nainstalovat vše dohromady jako balík PHP Triad, kde jsou vyřešené vzájemné vazby. Je vhodné upravit adresář pro ukládání souborů se skripty v konfiguračním souboru apache/conf/http.conf – parametr DocumentRoot obvykle c:/apache/htdocs/ Adresy: www.php.net nebo zrcadlo www.php.cz Pro psaní programů lze použít Notepad, AceHTML, Phped, HomeSite a další. Jakýkoliv soubor obsahující PHP skript má příponu .php je uložen v adresáři obvykle c:/apache/htdocs/ před jeho spuštěním je nutné spustit apache.exe spouští se v prohlížeči, URL je http://localhost/nazevsouboru.php Kontrolu správné instalace lze provést krátkým skriptem, který zobrazí informace o PHP: <?php PHPInfo(); ?>

3. Syntaxe PHP Způsoby zápisu skriptů: 1. <?php 2. <script language=”php”> příkazy příkazy ?> </script> - na velikosti písmen nezáleží, pokud nejsou v uvozovkách nebo apostrofech - psaní poznámek na jenom rádku //, více řádků /*…….*/ - příkazy se oddělují středníkem nebo stojí samostatně na řádku - lze používat příkazy HTML zapsané v uvozovkách nebo apostrofech v příkazu echo nebo lze skript kdekoliv ukončit, vložit kód HTML a vložit opět skript - řetězce lze uzavírat do apostrofů nebo uvozovek, rozdíl je v tom, že řetězce v apostrofech jsou doslovné, u textu v uvozovkách se názvy proměnných nahrazují jejich aktuálními hodnotami - znaky se speciálním významem začínají lomítkem - \”, \’, \$, \n – nový řádek - v příkazu echo lze použít řetězce typu HEREDOC – přiřazují text doslovně. Př. echo <<<HTXT text s příkazy HTXT; Pozn. - název textu HEREDOC musí začínat v 1.sloupci textu samostatně na řádku AceHTML nezná HEREDOC typ.

3.1. Proměnné - nedeklarují se, typ proměnné se určí, když do ní přiřadíme hodnotu, automaticky se může konvertovat na jiný typ, existují funkce pro zjištění typu i přetypování proměnné - základní typy : integer - celé číslo 2 147 483 648 až 2 147 483 647 double - reálné číslo -1,7.10308 až +1,7.10308, nejmenší kladné 3,4.10 -324 string - řetězec v uvozovkách nebo apostrofech array – pole, počáteční index je 0 pokud se neurčí jinak object – objekt pokud je hodnota výrazu nenulová má současně hodnotu true, hodnotu false má číslo 0, prázdný řetězec, pole nebo objekt a ukazatel null - název proměnné začíná značkou $ např. $a, ukazatel na proměnnou začíná značkou & např. &$a

3.2. Operátory aritmetické: +, -, *, /, % - zbytek po celočíselném dělení přiřazovací: =, +=, -=, *=, /=, %= inkrementace: ++ dekrementace: -- relační: == rovnost, != nerovnost, >=, <=, >, < shoda hodnoty a datového typu: === stejná hodnota i typ, !== stejná hodnota nebo stejný typ logické: ! negace, && nebo and logický součin, || nebo or logický součet podmíněný operator: podmínka?výraz1:výraz2 spojování řetězců: operator tečka . operátor čárka , odděluje výrazy – v hlavičce cyklu for bitové operátory Příklady použití operátorů

3.3. Pole indexy se automaticky číslují od nuly pokud počátečný index nenastavíme jinak pole může obsahovat současně prvky různých typů – heterogenní pole vícerozměrné pole vytváříme jako pole polí vytvoření pole: $apole[ ] = 1; $pole[ ] = 2; $pole[ ] = 3; - indexy se zvyšují automaticky $bpole[0] = 1; $pole[1] = 2; $pole[2] = 3; $cpole = array (1,2,3 ); $dpole = array (“leden”,1,2,3 ); $epole = array (2 =>1,2,3 ); - indexy začínají od dvojky $fpole = array (array (1,2,3 ), array (1,2,3 ), array (1,2,3 )) $gpole[2] [3] = 10; asociativní pole má index určený řetězcem $clovek[ “jmeno”] = “Karel”; $clovek[ “prijm”] = “Novak”; funkce pro práci s poli: – count() – vrací počet prvků v poli current() – vrací aktuální hodnotu indexu next() – posune index na další prvek v poli max(),min() – vrací maximální, minimální prvek v poli sort() – setřídí prvky v pole implode($pole,“oddělovač“) –spojí prvky pole do jednoho řetězce, mezi jednotlivé prvky vloží oddělovač

3.4. Struktury příkazů Příkazy se oddělují středníkem. Příkaz echo vypíše texty a hodnoty proměnných na stránku. Příkazy HTML napsané v apostrofech nebo uvozovkách provede Podmínky se píší do kulatých závorek, skupiny příkazů do složených závorek podmiňovací příkaz a) neúplný if (podmínka) { příkazy } b) úplný if (podmínka) { příkazy } else { příkazy } c) vnořený if (podmínka) { příkazy } elseif (podmínka) { příkazy } 2. vícenásobné větvení switch (výraz) { case hodnota výrazu1: příkazy; break; case hodnota výrazu2: příkazy; break; default: příkazy; - nepovinná část } provádí se příkazy ve větvi se stejnou hodnotou jakou má výraz za switch dokud se nenarazí na break (nepovinný) nebo konec příkazu switch Příklady použití příkazů

3. cyklus while while (podmínka) { příkazy } cyklus se provádí dokud platí podmínka, příkazy se nemusí provést ani jednou 4. cyklus do while do cyklus se provádí dokud platí podmínka, příkazy se provedou alespoň jednou 5. cyklus for for (inicializace;podmínka;inkrementace) {příkazy;} for ($i=1;$i<10;$i++) {echo $i;} vypíše čísla 1 až 10 for ($i=1, ($s=0;$i<10;$i++,$s+=+$i) echo $i; echo $s; vypíše čísla 1 až 10 a nakonec jejich součet cyklus se provádí dokud platí podmínka Příklady použití příkazů

6. cyklus foreach používá se při procházení všemi prvky pole foreach ($pole as $hodnota) {příkazy;} – odkaz pouze na prvek pole foreach ($pole as $index =>$hodnota) {příkazy;} - odkaz na prvek pole i jeho index 7. přerušení cyklu a) break – úplné ukončení cyklu b) continue – ukončí aktuální průchod cyklu a vrátí se na jeho začátek, cyklus pokračuje c) break počet; continue počet; - opustí několik cyklů najednou 8. příkazy pro vkládání souborů a) require “soubor.php” – vloží soubor, když ho nenajde, fatální chyba b) include “soubor.php” – vloží soubor, když ho nenajde vypíše zprávu a pokračuje dál c) readfile (“text.txt”) – vložení textu ze souboru pokud je uveden pouze název volaného souboru, hledá se ve stejném adresáři, ve kterém je uložen volající soubor - include “soubor.php”, odkaz z na soubor v podadresáři adresáře volající stránky - include“./soubor.php”, odkaz z kořenového adresáře - include “/soubor.php” Příklady použití příkazů

3.5. Funkce - deklarace funkce - deklaruje se kdekoliv před prvním voláním funkce, kulaté závorky u názvu jsou povinné i když funkce nemá parametry function NAZEV (formální parametry) { příkazy; return hodnota; - nepovinné } - volání funkce NAZEV(skutečné parametry); - funkci lze volat i s menším počtem parametrů něž má uvedeno v deklaraci - funkci lze nadeklarovat se standardní hodnotou parametru - funkce automaticky používají lokální proměnné, když chceme pracovat s globální proměnnou, máme možnost: a) definovat ji jako globální uvnitř funce – global $proměnná; b) použít pole globálních proměnných $GLOBALS[“proměnná”] c) použít parametr nahrazovaný odkazem v hlavičce deklarace funkce (ukazatel na proměnnou – označen &) - funkce můžou používat statické proměnné označené static, přiřadí se jim hodnota pouze při prvním volání funkce Příklady použití funkcí

4. Formuláře 4.1. Prvky formuláře Jsou jednou z možností jak může komunikovat uživatel (stránka HTML ) se serverem kde jsou stránky uloženy. 4.1. Prvky formuláře Prvky formuláře a jejich vlastnosti si prohledněte v exploreru a ve zdrojovém kódu souboru Formulář lze vytvořit také dynamicky pomocí příkazů php – příklad Příklad vytvoření formuláře pro přihlášení nebo registraci

4.2. Zpracování formuláře v PHP Atribut action v příkazu HTML <form> musí odkazovat na skript v php pro jeho zpracování. Action se provede jako odezva na událost onsubmit.Tato událost nastane např. při zmáčknutí tlačítka typu submit. Pokud je skript i formulář v jednom souboru, lze pro zpracování volat proměnnou PHP_SELF Př. action = “zpracuj.php” Pokud je skript i formulář v jednom souboru, voláme pro zpracování stejnou HTML stránku jejíž adresa je vproměnné PHP_SELF Př. action = “<?php PHP_SELF ?>“ Atribut method lze nastavit na get - data z formuláře jsou předávaná přímo v URL a jsou v poli $_GET post - data z formuláře jsou předávaná v hlavičce http požadavku a jsou v poli $_POST

4.3. Přístup k datům z formuláře $jmeno_prvku_formuláře – nevhodné z hlediska bezpečnosti, v souboru php.ini nastavit parametr register_globals=On $_GET [“jmeno_prvku_formuláře“] – odeslané metodou get $_POST [[“jmeno_prvku_formuláře“] ] – odeslané metodou post $GLOBALS[“jmeno_prvku_formuláře“] - pole globálních proměnných V proměnných se přenášejí hodnoty parametru value u příslušných prvků formuláře V proměnné $REMOTE_ADDR je IP adresa počítače, který vyslal požadavek Příklad vyhodnocení formuláře

5. Práce se soubory 1 Informace lze na serveru ukládat do souborů nebo databází. Scripty mohou pracovat se soubory jak celky (kopírování, mazání) nebo s daty které obsahují (čtení, zápis) a) manipulace s celými soubory file_exists (“soubor.dat”) – vrací true, když soubor existuje copy (“zdroj.dat”,”cil.dat”) – kopíruje soubor rename (“starejmeno.dat”,”novejmeno.dat”)– přejmenuje soubor unlink(“soubor.dat”) – smaže soubor V případě, že se příkazy provedou, vrací hodnotu true b) manipulace s obsahem souboru - otevření souboru $fp=fopen(“zdroj.dat”, režim) – otevře soubor s log. jménem $fp v uvedeném režimu režimy: r – čtení, r+ - čtení i zápis, w - zápis, w+ - zápis i čtení, a – zápis na konec souboru, a+ - zápis na konec souboru i čtení - čtení ze souboru $znak = fgetc($fp) – načte znak ze souboru $retezec = fread($fp, 1024) – načte určenou velikost bloku dat do řetězce

5. Práce se soubory 2 $radek = fgets($fp, 4096) – načte řádek do řetězce pokud není delší než je uvedeno $pole = explode(”oddělovač”, $radek ) – rozdělí řádek na řetězce podle zadaného oddělovače řetězců a uloží je do pole $pole = file($fp) – načte celý soubor do pole – každý řádek je prvek pole filesize($fp) – vrací velikost souboru fpassthru($fp) – vypíše obsah souboru na výstup - zápis do souboru fwrite($fp, řetězec, délka pokud se nezapisuje celý) – zápis řetězce fputs($fp, znak) - zápis řetězce práce s ukazatelem rewind($fp) – nastaví ukazatel na začátek souboru ftell($fp) – vrací aktuální pozici ukazatela fseek($fp, pozice) – nastaví ukazatel na uvedenou pozici, začátek souboru je 0 feof($fp) – vrací true, když je ukazatel na konci souboru - uzavření souboru fclose($fp) Příklad použití souboru – počitadlo přístupů Příklad použití souboru – chat

6. Protokol HTTP Pro komunikaci mezi prohlížečem a serverem se používá protokol HTTP. Prohlížeč pošle na server požadavek ve formátu: metoda, hlavičky, prázdná řádka Metody jsou: GET – získání dokumentu ze serveru POST – odeslání dat z formuláře, za prázdnou řádkou jsou data z formuláře HEAD – zaslání pouze hlaviček PUT – uložení stránky na serveru DELETE – odstranění stránky ze serveru TRACE, CONNECT, OPTIONS – analýza způsobu připojení Hlavička slouží pro přenos doplňujících informací, je ve tvaru jméno_hlavičky : hodnota Povinná je pouze hlavička je Host:www.server.cz Server odešle odpověď ve formátu: protokol, stavový kód, stavové hlášení, hlavičky, prázdná řádka, obsah odpovědi

7. Práce s hlavičkami v PHP V PHP lze číst hlavičky, které odeslal prohlížeč, nebo vytvářet hlavičky, které se posílají serveru. V tomto případě je musíme do skriptu vložit před jakýmkoliv výstupem na stránku, nesmí předcházet ani příkaz HTML <head> </head>. Hlavičky se vkládají funkcí Header Header(“název hlavičky : hodnota”) Př. Header(“Content -type : image/gif”) – skript generuje obrázek Header(“Location : http://www.jaroska.cz”) – skript nahraje uvedenou stránku Příklad použití hlavičky pro odkaz na stránku

8. Práce s grafikou v PHP Pro použití grafických funkcí je nutné v souboru php.ini smazat středník před řádkem extension=php_gd.dll Postup: 1. Určíme obsah stránky jako obrázek header("Content-type: image/png"); 2. Vytvoříme prázdný obrázek – zadáme rozměr v pixelech $img = imagecreate(200, 200); nebo vytvoříme obrázek načtením ze souboru $img = imagecreatefrompng(“název souboru“); 3. Pro vložení textu a kreseb použijeme funkce z manuálu např. $white = imagecolorallocate($img, 255, 255, 255); nastavení barev $black = imagecolorallocate($img, 0, 0, 0); imagearc($img, 100, 100, 150, 150, 0, 360, $black); nakreslení kružnice 4. Nakreslený obrázek pošleme prohlížeči imagepng($img); 5. Uvolníme paměť imagedestroy($img); Příklad

9. Předávání dat do jiných stránek a) v adrese URL URL stránky?parametr=hodnota&parametr=hodnota http://localhost/test.php?a=1&b=’ahoj‘ Příklad použití proměnné následují za znakem ? a jsou oddělené znakem & b) pomocí funkce Header Header(“Location : URL stránky?parametr=hodnota”) Header(“Location : login.php?back=$PHP_SELF”) – návrat z přihlašovací stránky na původní c) pomocí odkazu (hyperlink) <a href=”soubor.php?a=10&b=’ahoj’></a> d) pomocí formuláře <form action=“soubor.php“ method=“GET/POST“> … </form> přístup k datům $_GET[$jmeno_prvku_formuláře] nebo $_POST[$jmeno_prvku_formuláře]

10. Proměnné SESSION http je bezstavový protokol – každý požadavek prohlížeče na server je nezávislý na jiném požadavku, po obsluze požadavku se spojení zruší. Pro udržení spojení – uložení informací o něm (stavové aplikace) lze použít proměnné session nebo cookies. Postup: a) zahájení volání - na přihlašovací stránku vložíme session_start(); vytvoří se identifikátor spojení 32-místné číslo, které identifikuje volání a uloží se na serveru b) proměnné které charakterizují spojení ukládáme do superglobálního pole $_SESSION Př. <?php $_SESSION[“username“] = … ; ?>

10. Proměnné SESSION 2 c) na další stránky vložíme přesměrování na přihlašovací stránku, aby jsme zajistili přístup na stránky pouze z přihlašovací stránky Př. <?php if (!$_SESSION[“username“] ) Header(“Location : login.php?back=$PHP_SELF”); else { pokračování skriptu } ?> d) ukončení volání – funkce session_unset() nebo session_destroy(). Pro odhlášení také stačí zavřít okno prohlížeče session_unset ($_SESSION[“username“] ); echo “odhášen” Příklad použití je uveden v příkladě aukce obrazů

11. Cookies Jsou to řetězce znaků, které lze posílat mezi serverem a prohlížečem v rámci hlavičky HTTP. Uchovávají se v textových souborech na lokálním počítači a) uložení cookies – možnosti: SetCookie(nazev,hodnota, doba platnosti); Header(“Set-Cookie nazev = hodnota; expires = doba platnosti”); Když se zadá pouze název, je cookies smazáno, když se nezadá doba platnosti je platné pouze pro dané spojení, doba platnosti se zadává ve vteřinách, které se přičtou k aktuálnímu času získanému funkcí time() Př. SetCookie(“hlasoval”,“ano“, time()+3600*24*365); - platí 1 rok a) čtení cookies - z pole $_COOKIES Př. if ($_COOKIES[“hlasoval”]) {echo “nelze hlasovat vicekrat“;}

12. Použití databází v PHP Informace můžou být uložené na serveru v souborech nebo databázích. Databází rozumíme data a programy pro práci s nimi. Principy práce PHP s různými databázemi jsou velmi podobné. PHP pro spolupráci s databázemi používá funkce jejichž název začíná zkratkou použité databáze např. MySQL_..., ODBC_... atd. Velmi často se používá databáze MySQL . Je nutné spustit mysql.exe a WinMySQLadmin.exe.

12.1. Základní příkazy MySQL 1 1) Vytvoření databáze - součástí instalace MySQL je WinMySQLadmin.exe kde vytvoříme databázi pomocí nabídky - v editoru mysql.exe příkazem CREATE DATABASE nazevdatab; 2) Otevření databáze USE nazevdatab; 3) Vytvoření struktury tabulky Data jsou uložena v tabulkách řádek – věta obsahuje všechny informace o záznamu v tabulce, sloupec – pole je stejný údaj v každé větě. Primární klíč je pole jehož hodnota je v dané tabulce jedinečná, tj. neexistují dvě věty, které mají stejnou hodnotu v tomto poli. Při vytváření tabulky se nejdříve navrhne její struktura tj. názvy polí a typ údajů v nich uložen, primární klíč – hodnota určena při definici primary key příp. auto_increment, když ji vytváří procesor automaticky. Typy polí – INTEGER, FLOAT, DATE, CHAR [délka] – řetězec pevné délky, VACHAR [maxdélka] - řetězec libovolné délky menší než maxdélka, IMAGE, BLOB CREATE TABLE nazevtab ( 1.pole typpole1, 2.pole typpole2, 3.pole typpole3, …);

12.1. Základní příkazy MySQL 2 4) Vkládání záznamů (vět) do tabulky INSERT INTO nazevtab ( seznam polí) VALUES (seznam hodnot), (seznam hodnot), …; - vkládají se hodnoty do vyjmenovaných polí INSERT INTO nazevtab VALUES (seznam hodnot), (seznam hodnot), …;- vkládají se hodnoty do všech polí v pořadí jak jsou nadeklarované, nic nelze vynechat 5) Změna struktury tabulky - přidání pole na konec věty, na začátek, za konkrétní pole ALTER TABLE nazevtab ADD nazevpole typpole; na konec věty ALTER TABLE nazevtab ADD nazevpole typpole FIRST/AFTER nazevpole; - smazání pole ALTER TABLE nazevtab DROP nazevpole; - změna definice pole ALTER TABLE nazevtab MODIFY nazevpole novytyppole;

12.1. Základní příkazy MySQL 3 6) Výběr a zobrazení záznamů SELECT seznam polí FROM seznam tabulek WHERE podmínka ORDERED BY uspořádání podle pole; lze použít i další funkce – SUM, MAX, … 7) Aktualizace záznamů UPDATE nazevtab SET nazevpole=hodnota WHERE podmínka; 8) Mazání záznamů DELETE FROM nazevtab; - smaže všechny záznamy DELETE FROM nazevtab WHERE podmínka; - smaže záznamy, které splňují podmínku 9) Mazání databáze a tabulky DROP DATABASE nazevdatab; DROP TABLE nazevtab;

12.2. Použití MySQL v PHP 1 1) Připojení k serveru MySQL $spojeni=MySQL_Connect(server,uživatel,heslo); nebo stačí $spojeni=MySQL_Connect(“localhost“); v proměnné $spojeni je číslo, které identifikuje připojení k serveru 2) Výběr databáze MySQL_Select_DB (nazevdatab); 3) Příkazy pro práci se záznamy $vysledek=MySQL_Query(“příkaz MySQL“, $spojeni); nebo stačí $vysledek=MySQL_Query(“příkaz MySQL“); když pracujeme s jednou databází v proměnné $vysledek je číslo, které identifikuje výsledek, můžeme se na něj odvolávat u dalších funkcí počet záznamů ve výsledku vrací funkce MySQL_Num_Rows($vysledek)

12.2. Použití MySQL v PHP 2 přístup k jednotlivým záznamům poskytuje funkce MySQL_Fetch_Array(($vysledek) – vrací jeden řádek tabulky uložený do asociativního pole řetězců, prázdný řetězec má hodnotu false Př. výpis záznamů tabulky while ($zaznam=MySQL_ Fetch_Array($vysledek)) { foreach ($zaznam as $hodnota) echo $hodnota; echo “<br />”; } 4) Ukončení připojení MySQL_Close($spojeni);

12.3. Příklad použití PHP a MYSQL Použití MySQL v PHP je předvedeno na rozsáhlejším příkladě – zadání je zde. Dílčí kroky jsou vysvětlené v příkladech: Příklad vytvoření formuláře pro přihlášení nebo registraci Příklady vytvoření tabulky Řešení je zde. Celý adresář je nutné zkopírovat do adresáře apache/htdocs Postup: 1. Vytvoříme databázi aukce pomoci WinMySQLadmin 2. V databázi vytvoříme struktury tabulek obrazy a users spuštěním programů vytstrtabobr.php a vystrtabu.php 3. Vložíme záznamy do tabulky obrazy spuštěním programu vlozobrazy.php 4. Přihlášení anebo registrování se provede spuštěním programu prvni.php

13. Užitečné informace lze nalézt http://php.kn.vutbr.cz/to.en/manual/cs/index.php http://www.tizag.com/phpT/ http://www.tvorba-webu.cz/php.php3 http://www.linuxsoft.cz/php/ http://interval.cz/clanek.asp?article=252