Docsity
Docsity

Pripremite ispite
Pripremite ispite

Studirajte zahvaljujući brojnim resursima koji su dostupni na Docsity-u


Nabavite poene za preuzimanje
Nabavite poene za preuzimanje

Zaradite bodove pomažući drugim studentima ili ih kupite uz Premium plan


Školska orijentacija
Školska orijentacija


PHP-Slajdovi-Web programiranje-Informatika (10), Slajdovi od Web programiranje

Php, web programiranje, informatika, slajdovi, primeri, Server – side script jezik, Ukljucuje se u HTML, Oznacavanje promenljivih, Dodeljivanje vrednosti promenljivima, Tipovi promenljivih, Boolean, Integer, Floating-point, Objektno – orijentisano programiranje u PHP-u, Metode klase, DB & PHP SQLite, XML,Extensible Markup Language, Interakcija između aplikacija,Agregacija podataka,Elektronska trgovina,E-commerce,Trgovacke aplikacije,Upravljanje lancem nabavke,Elektronska razmena podataka,EDI-Ele

Tipologija: Slajdovi

2012/2013

Učitan datuma 08.07.2013.

dcplover
dcplover 🇸🇷

4.5

(164)

799 dokumenti

1 / 69

Toggle sidebar

Ova stranica nije vidljiva u pregledu

Ne propustite važne delove!

bg1
PHP (Lekcija 11)
Miladin Stefanović
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45

Delimični pregled teksta

Preuzmite PHP-Slajdovi-Web programiranje-Informatika (10) i više Slajdovi u PDF od Web programiranje samo na Docsity!

PHP (Lekcija 11)

Miladin Stefanović

[email protected]

PHP

 11 lekcija

 Obrada grešaka

 Sigurnost

 11 lekcija

 Obrada grešaka

 Sigurnost

fatal error

 php

// poziv nepostojeće funkcije

// ovo ce kreirati fatal error (E_ERROR)

callMeJoe();

 <?php

// poziv nepostojeće funkcije

// ovo ce kreirati fatal error (E_ERROR)

callMeJoe();

error_reporting()

 php
// prijavi samo fatal errors
error_reporting(E_ERROR);
// postavljanje $string promenljive
$string = 'string';
// pokusaj explode() stringa
// ovo nece kreirati warning zato sto ce samo fatal errors biti
prijavljanje "hide" non-fatal errors
explode($string);
 <?php
// prijavi samo fatal errors
error_reporting(E_ERROR);
// postavljanje $string promenljive
$string = 'string';
// pokusaj explode() stringa
// ovo nece kreirati warning zato sto ce samo fatal errors biti
prijavljanje "hide" non-fatal errors
explode($string);

set_error_handler a)

 php
// definisi sopstveni error handler
set_error_handler('oops');
// postavljanje $string promenljive
$string = 'a string';
// explode() astring
// ovo ce generisati upozorenje posto je broj argumenata explode() netacan
// greska ce biti obradjena definisanim error handler
explode($string);
 <?php
// definisi sopstveni error handler
set_error_handler('oops');
// postavljanje $string promenljive
$string = 'a string';
// explode() astring
// ovo ce generisati upozorenje posto je broj argumenata explode() netacan
// greska ce biti obradjena definisanim error handler
explode($string);

set_error_handler b)

 // definicija error handler function oops($type, $msg, $file, $line, $context) { echo "Greska!"; echo “Ukoliko se pojavila greska prijavitewebmaster problem."; echo "

"; echo “Ovde su informacije od skripta:"; echo "

"; echo "Error code: $type
"; echo "Error message: $msg
"; echo “Naziv skripta i broj linije u kojoj je nastala greskta: $file:$line
"; $variable_state = array_pop($context); echo “Varijabla se postavlja po pojavi greske: "; print_r($variable_state); echo ""; } ?>  // definicija error handler function oops($type, $msg, $file, $line, $context) { echo "Greska!"; echo “Ukoliko se pojavila greska prijavitewebmaster problem."; echo "

"; echo “Ovde su informacije od skripta:"; echo "

"; echo "Error code: $type
"; echo "Error message: $msg
"; echo “Naziv skripta i broj linije u kojoj je nastala greskta: $file:$line
"; $variable_state = array_pop($context); echo “Varijabla se postavlja po pojavi greske: "; print_r($variable_state); echo ""; } ?>

Modifikacija a)

 php

// definisi sopstveni error handler

set_error_handler('oops');

// postavljanje $string promenljive

$string = 'a string';

// ovo ce generisati upozorenje

explode($string);

 <?php

// definisi sopstveni error handler

set_error_handler('oops');

// postavljanje $string promenljive

$string = 'a string';

// ovo ce generisati upozorenje

explode($string);

Modifikacija b)

 // modifikacija error handler function oops($type, $msg, $file, $line, $context) { switch ($type) { // primedba case E_NOTICE: // nista break; // upozorenje case E_WARNING: // izvestaj o greski print "Non-fatal error on line $line of $file: $msg
"; break; // ostalo default: print "Error of type $type on line $line of $file: $msg
"; break; } } ?>  // modifikacija error handler function oops($type, $msg, $file, $line, $context) { switch ($type) { // primedba case E_NOTICE: // nista break; // upozorenje case E_WARNING: // izvestaj o greski print "Non-fatal error on line $line of $file: $msg
"; break; // ostalo default: print "Error of type $type on line $line of $file: $msg
"; break; } } ?>

trigger_error b)

 // negativan
// triger aa fatal error
if ($num < 0) {
trigger_error (“Broj $num je negativan",
E_USER_ERROR);
// testiranje funkcije za razlicitim brojevima
testNumber(100);
testNumber(5.6);
testNumber(-8);
 // negativan
// triger aa fatal error
if ($num < 0) {
trigger_error (“Broj $num je negativan",
E_USER_ERROR);
// testiranje funkcije za razlicitim brojevima
testNumber(100);
testNumber(5.6);
testNumber(-8);

user-defined error handler a)

 php // funkcija za testiranje projeva // generise E_USER_WARNING ukoliko je broj float // generise E_USER_ERROR ukoliko je broj negativan function testNumber($num) { // float // triger aa warning if ( is_float ($num)) { trigger_error (“Broj $num nije ceo", E_USER_WARNING); } // negativan // triger za fatal error if ($num < 0) { trigger_error (“Broj $num je negativan", E_USER_ERROR); } }  <?php // funkcija za testiranje projeva // generise E_USER_WARNING ukoliko je broj float // generise E_USER_ERROR ukoliko je broj negativan function testNumber($num) { // float // triger aa warning if ( is_float ($num)) { trigger_error (“Broj $num nije ceo", E_USER_WARNING); } // negativan // triger za fatal error if ($num < 0) { trigger_error (“Broj $num je negativan", E_USER_ERROR); } }

user-defined error handler c)

 // Postavljanje imena custom handler

set_error_handler('myErrorHandler');

// testiranje funkcije sa razlicitim brojevima

testNumber(100);

testNumber(5.6);

testNumber(-8);

 // Postavljanje imena custom handler

set_error_handler('myErrorHandler');

// testiranje funkcije sa razlicitim brojevima

testNumber(100);

testNumber(5.6);

testNumber(-8);

try-catch()

 try {

izvrsi ovaj blok

catch (izuzetak 1) {

izvrsi blok da bi obradio izuzetak 1

catch (izuzetak 2) {

izvrsi blok da bi obradio izuzetak 2

... itd ...

 try {

izvrsi ovaj blok

catch (izuzetak 1) {

izvrsi blok da bi obradio izuzetak 1

catch (izuzetak 2) {

izvrsi blok da bi obradio izuzetak 2

... itd ...

try-catch() b)

 // zatvori fajl
fclose($fh);
// stampaj sadrzaj fajla
echo $data;
// gresske ako ih ima
catch (Exception $e) {
print ‘Nesto se pogresno dogodilo...';
 // zatvori fajl
fclose($fh);
// stampaj sadrzaj fajla
echo $data;
// gresske ako ih ima
catch (Exception $e) {
print ‘Nesto se pogresno dogodilo...';

Exception object a)

 php // PHP 5 error_reporting(0); // probaj ovaj kod try { $file = 'somefile.txt'; // otvori fajl if (!$fh = fopen($file, 'r')) { throw new Exception('Ne moze se otvoriti fajl!', 12); } // procitaj sadrzaj fajla if (!$data = fread($fh, filesize($file))) { throw new Exception(‘Fajl ne moze biti procitan!', 9); } Dodelili smo kod gresci  <?php // PHP 5 error_reporting(0); // probaj ovaj kod try { $file = 'somefile.txt'; // otvori fajl if (!$fh = fopen($file, 'r')) { throw new Exception('Ne moze se otvoriti fajl!', 12); } // procitaj sadrzaj fajla if (!$data = fread($fh, filesize($file))) { throw new Exception(‘Fajl ne moze biti procitan!', 9); } Dodelili smo kod gresci