19.11.2019 08:41:50 php echo date('d.m.Y H:i:s'); příkaz je třeba ukončit středníkem, fce date viz 3.díl
Buď vítán! echo 'Buď vítán!';řetězec se dává do apostrofů
Buď vítán!echo 'Buď',' ','vítán!';více řetězců je potřeba oddělovat čárkama
Proměnná s názvem počet má hodnotu 3
Proměnná s názvem počet má teď hodnotu “tři”
$počet = 3; echo 'Proměnná s názvem počet má hodnotu ', $počet, '
'; $počet = 'tři'; echo 'Proměnná s názvem počet má teď hodnotu ', $počet, '
';
- proměnné mají před jménem $
- přiřazujeme pomocí =
- pokud chceme mít proměnnou jako řetězec, napíšeme ho v apostrofech
$dni_mesic[1] = 31;
$dni_mesic[2] = 28;
$dni_mesic[3] = 31;
$dni_mesic[4] = 30;
$dni_mesic[5] = 31;
$dni_mesic[6] = 30;
$dni_mesic[7] = 31;
$dni_mesic[8] = 31;
$dni_mesic[9] = 30;
$dni_mesic[10] = 31;
$dni_mesic[11] = 30;
$dni_mesic[12] = 31;
pole se značí [] za jménem proměnných, indexujeme libovolně (řetězce nebo čísla
?php echo phpinfo();zjistí nastavení php serveru
CCBot/2.0 (https://commoncrawl.org/faq/)echo $_SERVER["HTTP_USER_AGENT"]
Výpis neexistující proměnné:
php je case-sensitive
Právě je dopoledneif (date("A") == "AM") echo "Právě je dopoledne";
else
echo "Právě je odpoledne";
podmínka v kulaté závorce, porovnání pomocí ==, středník až za prvním příkazem po vyhodnocení podmínky, další druhy porovnání jsou <>, <, >, <=, >=
Je mezi 6 a 14 hodinou $hodina = date("G");
if ($hodina >= 6 && $hodina <= 14)
echo "Je mezi 6 a 14 hodinou";
else echo "Není mezi 6 a 14 hodinou";
AND - &&, OR - ||, XOR - xor, pořád platí jako jedna podmínka - kulaté závorky nekončí
echo "Ještě žiju!";
die("Právě umírám! Tohle je moje poslední věta!");
echo "Tohle už nikdy nevypíšu";
příkaz die() ukončí program a ještě vypíše to, co bude v závorce

konec lekce 5

Ahoj lidi!

Ahoj lidi!

Ahoj lidi!

Ahoj lidi!

Ahoj lidi!
Ahoj lidi!
for ($i = 1; $i <= 6; ++$i)
echo 'Ahoj lidi!';
++$i zvýší proměnnou o 1, cyklus for:
for(příkaz před cyklem, podmínka, příkaz po každém cyklu)
příkaz uvnitř cyklu;
Výsledek = 5050 $součet = 0;
for ($i = 1; $i <= 100; ++$i)
$součet = $součet + $i;
echo 'Výsledek = ', $součet;
sečte čísla od jedné do sta
Rok má 365 dní. $pocet_dni_v_roce = 0;
for ($i = 1; $i<=12; ++$i)
$pocet_dni_v_roce = $pocet_dni_v_roce + $dni_mesic[$i];
echo 'Rok má ', $pocet_dni_v_roce, 'dní.';
Tento skript spočítá počet dní v měsících, co jsme zadali už dříve.
for ($i = 1; $i <= 100; ++$i)
{
echo $i, ") ";
echo "Ahoj!";
echo "br";
}
Pokud chceme cyklit více příkazů, použejeme blok - {příkaz1;příkaz2;}
for (počáteční příkaz; podmínka; příkaz po každém cyklu):
první příkaz uvnitř cyklu;
druhý příkaz uvnitř cyklu;
...
endfor;
jiná syntaxe příkazu for
include "adresa.html";vloží na toto místo text ze zmíněného souboru
require "neexistujici_soubor";narozdíl od include daný vypíše chybu A NEPOKRAČUJE DÁL VE SKRIPTU, ALE ZASTAVÍ SE
include_once a require_once vloží soubor pouze jednou a případné další vkládání ignorují a neprovedou
if (date("A") == "PM")
return;
echo "Těšíš na dnešní oběd?";
příkaz return ukončí provádění vloženého skriptu a způsobí vylezení ven ze souboru, může taky ukončovat funkci
Ahoj!
Ahoj!
function pozdrav()
{
echo 'Ahoj!';
}

pozdrav();
pozdrav();
Funkce: začíná slůvkem function název(parametry) a obsahuje blok příkazů
1 + 2 = 3
3 + 4 = 7
function sečti($a, $b)
{
echo $a, " + ", $b, " = ", $a+$b, "
";
}

sečti(1,2);
sečti(3,4); ?>
parametry jsou v kulatých závorkách a oddělují se čárkou, jsou to proměnné
$kolik = strlen("Ahoj");
echo $kolik, "br";
echo strlen("Nazdar");
funkce StrLen vyhodí délku řetězce
function vynásob($a, $b)
{
return $a * $b;
}

$výsledek = vynásob(2,3);
echo $výsledek, br;
echo vynásob(4,5);
function p()
{
return 3.141592653589;
}

echo "Pi = ", p(), "
";
výsledky funkcí se předávají pomocí funkce return
Ahoj frajere! $náhodné_číslo = mt_rand(1,2);
if ($náhodné_číslo == 1)
echo "Ahoj frajere!";
else
echo "Ahoj kamaráde!";
funkce hází náhodné celá čísla v rozsahu mezí, které se zadávají jako parametry
$handle = fopen("b.txt", "w+");
fclose($handle);
fce fopen(jméno_souboru, způsob otevření) - a-budeme chtít dopsat něco na závěr souboru (vytvoří, pokud neexistuje
w-do souboru budeme chtít zapisovat, založí nový příp. přemaže starý
r-budeme pouze číst, soubor musí existovat
a+ chceme i číst w+ chceme i číst r+ chceme i zapisovat
jako výsledek hází, jestli se operace povedla
Otevření souboru se povedlo. $handle = fopen("b.txt", "w+");
if ($handle)
echo "Otevření souboru se povedlo.";
else
echo "Otevření souboru selhalo.";
otestuje, jestli se podařilo připojit a podle toho hodí hlášku - dobré jako kontrola/podmínka pro další pracování se souborem
fclose (handle);zavře soubor, kterému patří tento handle
$handle = fopen("b.txt", "w+");
if ($handle)
echo "Otevření souboru se povedlo.";
else
die("Otevření souboru selhalo.");

fclose($handle);
Otevření souboru se povedlo. $handle = fopen("b.txt", "a");
if ($handle)
echo "Otevření souboru se povedlo.";
else
die("Otevření souboru selhalo.");

fwrite($handle, "Haló");

fclose($handle);
fce fwrite vepíše řetězec na konec souboru;
fwrite (handle, co_se_má_zapsat, maximální_délka_zápisu);
Otevření souboru se povedlo.
Přečetl jsem : Haló
$handle = fopen("b.txt", "r");
if ($handle)
echo "Otevření souboru se povedlo.
";
else
die("Otevření souboru selhalo.");

$načteno = fread($handle, 1000);

echo "Přečetl jsem : ", $načteno;

fclose($handle);
fread (handle, délka toho, co se má načíst) - text hází jako výsledek fce
Otevření souboru se povedlo.
Pozice ukazovátka je 0
Přečetl jsem : Haló
Pozice ukazovátka je 4
$handle = fopen('b.txt', 'r');
if ($handle)
echo "Otevření souboru se povedlo.br";
else
die("Otevření souboru selhalo.");

$pozice = ftell($handle);
echo "Pozice ukazovátka je ", $pozice, "
";

$načteno = fread($handle, 4);
echo "Přečetl jsem : ", $načteno, "br";

$pozice = ftell($handle);
echo "Pozice ukazovátka je ", $pozice, "br";
fclose($handle);
fce ftell hází, na které jsme aktuálně pozici v souboru
Počet zobrazení stránky: 10 $handle = fopen("kolik.bin","a");
fclose($handle);

$handle = fopen("kolik.bin","r+");
$kolik = fread($handle,10);
++$kolik;
rewind($handle);
fwrite($handle,$kolik);
fclose($handle);

echo "Počet zobrazení stránky: ", $kolik;
první dvě řádky zajistí, že pokud soubor ještě neexistoval, tak se vytvoří a pokud už existovat, tak zůstane tak, jak je

následně soubor otevřeme jiným způsobem a přečteme si prvních 10 znaků, které úložíme do proměnné kolik
tuto proměnnou zvýšíme o 1, posunovátko dáme na začátek souboru a zapíšeme tam zvýšené číslo
soubor zavřeme

vypíšemme číslo v proměnné

konec 9. lekce

form action="mujskript.php" method="post"
-- datové položky formuláře --
/form
tag form ohraničuje formulář, atribut action určuje, kam se data posílají, atribut methot určuje, jakým způsobem, hodnoty method jsou get a post, get ukazuje hodnoty v adrese stránky, post ne
form action="mujskript.php" method="post"
-- datové položky formuláře --
input type="submit" value="Odeslat data formuláře"
tlačítko submit odešle informace z políček do skriptu jehož název je uveden u action
Zadej jméno:
form action="mujskript.php" method="post"
Zadej jméno: input type="text" name="jmeno"br
input type="submit" value="Odeslat data formuláře"
/form
kolonka pro text se dělá pomocí input type="text"
Zadej heslo pro vstup:
form action="prijmiheslo.php" method="post"
Zadej heslo pro vstup: input type="password" name="heslo"
input type="submit" value="Odeslat heslo"
/form
input type=password hodí heslovou kolonku
řetězce můžeme dávat do uvozovek nebo do apostrofů. v uvozovkách funguje expanze proměnných - můžeme tam napsat název nějaké proměnné a místo toho se tam vloží její hodnota. pokud má hned po hodnotě proměnné navazovat nějaký znak, dáme proměnnou i s dolarem do složených závorek
escape sekvence - uvozovky vypíšeme pomocí \", apostrof pomocí \', zpětné lomítko pomocí \\
Proměnná $a existuje.
Proměnná $b neexistuje.
$a = 3;

if (isset($a))
echo 'Proměnná $a existuje.br';
else
echo 'Proměnná $a neexistuje.br';

if (isset($b))
echo 'Proměnná $b existuje.br';
else
echo 'Proměnná $b neexistuje.br';
isset testuje existenci proměnné, hází boolean
využití: otestovat, jestli proměnná existuje a nastavení její hodnoty
příkaz unset(proměnná); smaže proměnnou
druhy proměnných: celočíselné - integer
s desetinnou čárkou (tečkou) - double
řetězec - string
pole - array
logické hodnoty - boolean
Proměnná obsahuje typ integer
Proměnná obsahuje typ double
Proměnná obsahuje typ string
$a = 3;
echo 'Proměnná obsahuje typ ', gettype($a), "br";
$a = 3.14;
echo 'Proměnná obsahuje typ ', gettype($a), "br";
$a = "ahoj";
echo 'Proměnná obsahuje typ ', gettype($a), "br";
k zjištění typu proměnné je funkce gettype(proměnná);
8
53 jablka
$vysledek = 5 + "3 jablka";
echo $vysledek, "br";
$vysledek = 5 . "3 jablka";
echo $vysledek, "br";
php převádí proměnné mezi typy jak se mu zachce, pokud napíšeme +, které platí jen u čísel, snaží se převést na čísla, pokud dáme . převede to na stringy
TRUE $bool = 2 > 1;
if ($bool == TRUE)
echo "TRUE";
else
echo "FALSE";
typ boolean může obsahovat jakýkoli výrok (jež má nějakou logickou hodnotu)
header('Location: http://www.cpress.cz/');header ovlivňuje hlavičku html souboru, musíme použít hned za body, toto přesměruje stránku
?php
if (date('A') == 'AM')
header('Location: http://www.vltava.cz/');
else
header('Location: http://www.cpress.cz/');
exit;
?
další ukázka přesměrování; exit je pojistka proti vykonávání dalšího kodu -> zbytečné
funkce header_sent() vrací, jestli už byla hlavička poslána
?php
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');
header('Cache-Control: no-cache, must-revalidate');
header('Pragma: no-cache');

// Tady pokračuje váš PHP skript.
?
zakáže každému prohlížeči načítat stránku z paměti

Konec 13. lekce

Tester regulárních výrazů

Regulární výraz:
Text:

Text nevyhovuje regulárnímu výrazuDnes je úterý 19. 11., svátek má Alžběta