You are on page 1of 26

Zklady PHP

Jan Mach

PHP
PHP je jazyk, kter pracuje na stran
serveru, dovede ukldat a mnit data
vaich strnek pmo prostednictvm
prohlee. PHP - pvodn Personal
Home Page vzniklo v roce 1996, Od t
doby prolo velkmi zmnami a nyn tato
zkratka znamen Hypertext Preprocessor.
Aktuln verze PHP 5 (verze 5.5.4 z 19 z 2013)

Nejjednodu PHP kd
<hmtl>
Vtejte na serveru <b>presnycas.cz</b>.
Prv je <?php echo Date("G:i");?>.
Sekce <?php ?> je nepovinn, me se
opakovat, me tvoit i cel HTML soubor.
Soubor mus bt sputn na WWW serveru!

Zklady syntaxe
Oddlen kdu:

<? [PHP kd] ?>, <?php [PHP kd] ?>

Oddlen instrukc
stednkem
<? echo "Prvn dek"; echo "Druh
dek"; ?>

Komente
jednodkov // a #
/* vcedkov */

Pkaz echo

Mono pst vce etzc, na vce dk

<?php echo "Tohle bude prvn dek\nTohle


bude druh dek\nTohle posledn" ;?>

Spojovn etzc znakem teka: abc. def"


Sekvence:

\n Nov dek (ale nen to <br />!)


\" Uvozovky
\r Nvrat vozku
\t Tabeltor
\\ Zptn lomtko
\$ Dolar

Promnn
zanaj znakem $, jmno nezan slem, zle na
velikosti psmen
<?php
//logick typ
$malo_penez = TRUE;
//celoseln typ
$plat = 10000;
//desetinn slo
$disketa = 3.5;
//etzec
$prohlaseni = Uit se, uit se, uit se!";
echo $malo_penez."<br />";
echo $plat."< br / >";

Logick opertory

and

Logick souet, pravda kdy je alespo jedna hodnota


pravdiv

xor

Logick souin, pravda kdy jsou ob hodnoty pravdiv

or ||

&&

Exkluzivn OR , pravda kdy je prv jedna hodnota


pravdiv

!$vyraz

Negace, True kdy bylo False a naopak

Porovnvn

= piazen ($pocet=4)
== porovnn ($pocet==$maxPocet)
=== porovnn vetn typu
ternrn opertor

$vyber = $stav_uctu>10000 ? 5000 : 2000;


$stav_uctu>10000 ? $vyber=5000 : $vyber=2000;

Podmnka IF
$pristup_odepren = TRUE;
if ($pristup_odepren) echo "Na tuto strnku se nemete
dostat bez autorizace";
if ($pristup_odepren)
{
echo "Na tuto strnku se nemete dostat bez
autorizace <br />";
echo "Vae IP adresa byla zaznamenna do
protokolu.";
}
else
{
echo "Vtejte na tto strnce<br />";
echo $pocetnavstev++;
}

Podmnka IF
<?
if ($browser=="Mozilla") echo
"Vborn !!!";
elseif ($browser=="Konqueror") echo
"Dobe .";
elseif ($browser=="Explorer") echo
";-(";
else echo "Nepodailo se zjistit V
browser";

?>

Podmnka IF
<?

if ($browser=="Mozilla"):
echo "Vborn !!!";
elseif ($browser=="Konqueror"):
echo "Dobe .";
elseif ($browser=="Explorer"):
echo ";-(";
else:
echo "Nepodailo se zjistit V
browser";
endif;

?>

Podmnka SWITCH
<?

switch ($browser)
{
case "Mozilla":
echo "Vborn !!!";
break;
case "Konqueror":
echo "Dobe .";
break;
case "Explorer":
echo ";-(";
break;
default:
echo "Nepodailo se zjistit V browser";
}
?>

Smyka s podmnkou na zatku


<TABLE>
<TR><TD>slo</TD><TD>Druh mocnina</TD></TR>
<?
$i=1;
while ($i<=10)
{
echo "<TR><TD>".$i."</TD><TD>".
$i*$i."</TD></TR>\n";
$i++;
}

?>
</TABLE>

alternativn
<TABLE>
<TR><TD>slo</TD><TD>Druh
mocnina</TD></TR>
<? $i=1; while ($i<=10):?>
<TR><TD><?echo $i;?></TD>
<TD><?echo $i*$i;?></TD></TR>
<? $i++; endwhile; ?>
</TABLE>

Smyka s podmnkou na konci


<TABLE>
<TR><TD>slo</TD><TD>Druh mocnina</TD></TR>
<?
$i=0;
do
{
$i++;
echo "<TR><TD>".$i."</TD><TD>".
$i*$i."</TD></TR>\n";
} while ($i<10);
?>
</TABLE>

Smyka for

<TABLE>
<TR><TD>slo</TD><TD>Druh mocnina</TD></TR>
<?
for ($i=1; $i<=10; $i++):
echo "<TR><TD>".$i."</TD>";
echo "<TD>".$i*$i."</TD></TR>";
endfor;
?>
</TABLE>

for ($i=1; $i<=10; $i++) echo "<TR><TD>".


$i."</TD><TD>".$i*$i."</TD></TR>";
pkazy break (ukon) a continue (pokrauje v iteraci)

Funkce, procedury
<?

function hlavicka()
{
?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01


Transitional//EN"; "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
<meta http-equiv="Content-Type" content="text/html;
charset=ISO-8859-2">
<title>Moje prvn strnka</title>
</head>

<?

// pouit
hlavicka();
echo "<BODY>Tlo strnky</BODY></HTML>";
?>

Funkce
<?

function JeNedele($den="now") //nepovinn


{
return (date("w", strtotime($den))==0);
}

if (JeNedele()) echo "Je nedle"; else echo


"Nen nedle";
if (JeNedele("2007-10-20")) echo "Je
nedle"; else echo "Nen nedle";

?>

Funkce

Globln promnn: global $VracetHTML;


Funkce v PHP mohou pedvat parametry
odkazem. To se provede tak, e ped nzev
promnn v hlavice funkce se uvede
ampersand (&)
V tle funkce mohou bt definovny promnn
s klovm slovem static. Hodnotu takovch
promnnch si PHP mezi jednotlivmi volnmi
funkce pamatuje.

Vkldn soubor

<TABLE height="100%" width="100%" border="1">


<TR>
<TD width=20% valign="top">
<?require "21_left.php;?>
</TD>
<TD width=60% valign="top">
<?include "21_middle.php;?>
</TD>
<TD width=20% valign="top">
<?include "21_right.php;?>
</TD>
</TR>
</TABLE>

include_once, require_once
die(""), exit, return

Session promnn
Ukldn na stran serveru (soubor, db )
<?

session_start(); //nutno spustit


session_register("promenna");
//zaregistrovat promnnou
$_SESSION["promenna"]="hodnota";
if(!isset($_SESSION["promenna"]))
$_SESSION["promenna"]=1;

?>

Ochutnvka Cookies

Ukldn na stran klienta

SetCookie ("nazev_cookie", "hodnota", time()


+10*60); //platnost 10 minut
if(!isset($_COOKIE["cas"])) setcookie
("cas", time());
echo "<p>Hodnota na cookie je ".
$_COOKIE["nazev_cookie"];

Ochutnvka MySQL
mysql_connect(SQL_HOST, SQL_USERNAME, SQL_PASSWORD);
mysql_select_db(SQL_DBNAME);
$vysledek=mysql_query("select * from psc where
psc=".$_POST["psc"]);
$radku=mysql_num_rows($vysledek);
if ($radku==0) echo "PS ".$_POST["psc"]."
nem, bohuel, dn obec";
else
{
echo "PS ".$_POST["psc"]." m nsledujcch
$radku obc:<BR>";
while ($zaznam=MySQL_Fetch_Array($vysledek)):
echo $zaznam["obec"]."<BR>\n";
endwhile;
};

Odkazy ke studiu

PHP manul

http://docs.php.net/manual/en/

Kurz PHP

http://www.linuxsoft.cz/php/

Odkazy ke studiu
PHP editory a debuggery
NetBeans

http://netbeans.org/

PHPEclipse

http://www.phpeclipse.com/

Instalace PHP (Apache, MySQL)

Run instalace Apache, MySQL a PHP

http://koding.wz.cz/priklady.php?id=3

WAMP balk Apache, MySQL, PHP a


phpMyAdmin

http://www.wampserver.com/en/

You might also like