Website Development Prices

Website Development Prices

Wednesday, November 9, 2016

Joomla Instalacija sa XAMPP-om (Joomla Installation with XAMPP)

1. Pokrenite XAMPP. Pokrenite Apache i MySQL klikom na Start dugme.




2. Otvorite phpMyAdmin, kliknite na Admin u liniji MySQL-a ili ukucajte u address bar http://localhost/phpmyadmin/.
3. Kliknite na karticu Databases, u prvo polje upisite ime baze podataka, u ovom primeru, joomla2,  a u drugo polje odaberite odgovarajuci Collation, u ovom primeru, utf8_unicode_ci, pa klik na dugme Create.


Tuesday, November 1, 2016

Upotreba jednog PHP dokumenta (Using one PHP document)

Do sada smo koristili web aplikacije koje su imale dva dokumenta. Jedan sa HTML kodom koji je prikazivao stranu za prikupljanje podataka od korisnika, a drugi sa PHP kodom cija strana je interpretirala i rukovala tim podacima.

Primer: ako zelite da od korisnika saznate koji je njegov omiljen motor, a da onda zelite da tom ime prikazete. Sve to treba da uradite u jednom PHP dokumentu. Da biste sve to stavili na jedan dokument, treba da mozete da odredite da li je to prvi dolazak na dokument tj. stranu. Ako jeste, treba da prikazete stranu za prikupljanje podataka. Ako je korisnik vec uneo svoj omiljen motor, treba da to procitate.

Upotrebicemo polje za unos teksta "ime-motora" i tu cemo da stavimo ime omiljenog motora. Ako tu postoje podaci. onda ime treba da se prikaze. Ako ne postoje podaci, treba da prikazete polje za unos teksta i da od korisnika zatrazite da unese ime omiljenog motora.

Prekopiracemo fajl phptekst.php iz clanka "Preuzimanje podataka iz polja za unos teksta (Retrieving data from text fields)", koji se nalazi u folderu htdocs, foldera xampp. U mom primeru, putanja je C:/xampp2/htdocs/PHPtuts/polje-za-unos-teksta/phptekst.php i kopirati u novo kreirani folder jedan-php-dokument.

Wednesday, August 17, 2016

Preuzimanje podataka sa forme u korisnickim nizovima (Retrieving data from the form in the users arrays)

PHP omogucava da podatke koje dobijete sa forme organizujete u svoje nizove. 

Primer: ako od korisnika treba da saznate ime i omiljen motor i da se podaci unesu kao $podaci['ime'] $podaci['motor']. Svakom polju za unos teksta dacete ime u uglastim zgradama, kao npr., tekst[ime] i tekst[motor].

HTML kod


<!DOCTYPE html>
<html>
<head>
<title>Web forme i validacija unosa korisnika</title>
</head>

Wednesday, August 3, 2016

Preusmeravanje korisnika pomocu HTTP zaglavlja (Redirecting users using HTTP headers)

HTTP zaglavlje mozete napraviti pomocu funkcije header. Ako zelite da napravite zaglavlje za preusmeravanje  koje pretrazivacu pokazuje kuda treba da ode, pozovite funkciju header('Location: http://imevasegwebsajta.com/').

Primer: 

HTML kod

<!DOCTYPE html>
<html>
<head>
<title>Web forme i validacija unosa korisnika</title>
</head>

Monday, July 25, 2016

HTTP zaglavlja (HTTP headers)

Pored serverskih promenljivih u nizu $_SERVER u tabeli iz prethodnog clanka, u istom nizu se nalaze i HTTP zaglavlja, Ova zaglavlja salje pretrazivac i ona obicno sadrze informacije o pretrazivacu.

Upotrebom ovih zaglavlja mozete saznati vise o pretrazivacu korisnika, na primer, kojim tipovima skupova karaktera moze da rukuje, sa kojim jezicima radi, i drugo.

Tabela - HTTP promenljive servera



In addition to the server variables in array $_SERVER in the table in the previous article, the same array also includes HTTP headers. This headers, browser sends and they usually contain information about the browser.

By using these headers you can learn more about the user's browser, for example, what type of character sets can be handled, with which languages works, and other.


Table - HTTP server variables




Thursday, July 21, 2016

Tabela opste promenljive na serveru (Table general variables on the server)

U PHP-u postoji superglobalni niz $_SERVER, koji sadrzi informacije o tome sta se desava sa odredjenom web aplikacijom. 

Tabela - opste promenljive na serveru



Ove promenljive servera su dobre zato sto daju malo vise informacija, na primer, ime skripta koji radi: 

Thursday, July 14, 2016

Upotreba dugmadi pomocu atributa Value dugmeta Submit (Using buttons with attribute Value of button Submit)

Podatke mozete poslati u PHP skript pomocu atributa value dugmeta submit. Ova vrednost se moze procitati u PHP skriptu, zbog cega ne morate da koristite skrivene kontrole za slanje podataka.

Primer: ovo cete dobiti ako svakom dugmetu submit date isto ime, u ovom primeru to je "mojedugme3", a ime dugmeta dodelite atributu value:

<form name="forma1" action="php-dugmad-3.php" method="post">
<input type="submit" name="mojedugme3" value="dugme 1">

</form>

HTML kod

<!DOCTYPE html>
<html>
<head>
<title>HTML forme</title>
</head>

Tuesday, July 12, 2016

Upotreba dugmadi sa dugmadima tipa Submit (Using buttons with buttons type Submit)

Ako na Vasoj web stranici napravite tri razlicite HTML forme, svaka od njih treba da ima svoje dugme Submit. Kada korisnik izabere neko od ovih dugmadi, podaci iz forme se salju do PHP skripta:

<form name="forma1" action="php-dugmad-2.php" method="post">
<input type="submit" value="Dugme 1">

</form>

Da biste podatke poslali nazad do PHP skripta, dodacete u svaku formu po jednu skrivenu kontrolu. U svakoj kontroli ce biti ime dugmeta  koje je izabrano. 

HTML kod

<!DOCTYPE html>
<html>
<head>
<title>HTML forme</title>
</head>

Sunday, July 10, 2016

Upotreba dugmadi sa JavaScript-om i skrivenom kontrolom (Using buttons with JavaScript and hidden control)

Dugmad se razlikuju od ostalih kontrola, posto kada ih kliknete, ne ostaju kliknuta, sto znaci da se informacija o tome ne salje sa formom. 

Ako zelite da u PHP-u odredite koje je dugme korisnik kliknuo, jedan nacin je da pomesate JavaScript i skrivenu kontrolu.

Primer: kada korisnik klikne dugme, JavaScript iz primera smesta ime dugmeta u skrivenu kontrolu pod imenom "dugme", a onda se uz pomoc funkcije submit rezultat salje do skripta php-dugmad-1.php.

HTML kod

<!DOCTYPE html>
<html>
<head>
<title>HTML forme</title>
</head>

Saturday, July 9, 2016

Citanje prebacenih fajlova (Retrieving uploaded file data)

Nakon sto prebacite fajl, mozete mu pristupi iz PHP-a. Za pristup prebacenim fajlovima mozete da koristite funkciju fopen. Funkcija fopen otvara fajl ili URL.

fopen(ime_fajla, pristup_fajla)
ime_fajla - obavezan parametar. Odredjuje fajl ili URL za otvaranje.
pristup_fajla - obavezan parametar. Odredjuje vrstu pristupa koja vam je potrebna u fajlu.

Moguce vrednosti:

."r" - samo za citanje. Pocinje na počctku fajla.
"w" - samo za pisanje. Otvara i brise sadrzaj fajla ili stvara nov fajl ako on ne postoji.
"a" - samo za pisanje. Otvara i pise na kraju fajla ili stvara nov fajl, ako on ne postoji.
"x" - samo za pisanje. Stvara nov fajl. Vraca netacno i gresku ako fajl vec postoji.

"r+" - citanje/pisanje. Pocinje na pocetku fajla.
"w+" - citanje/pisanje. Otvara i brise sadrzaj fajla ili stvara nov fajl ako on ne postoji.
"a+" - citanje/pisanje. Cuva sadrzaj fajla pisanjem na kraju fajla.
"x+" - citanje/pisanje. Stvara nov fajl. Vraca netacno i gresku ako fajl vec postoji.

Wednesday, June 29, 2016

Prebacivanje fajlova (Uploading files)

Da biste prebacivali fajlove koristicete formu tipa multipart, koju cete napraviti uz pomoc atributa enctype elementa <form>

Primer: 

<form enctype="multipart/form-data" action="prebacivanje-fajlova.php" method="post">
.
.
.
.

</form>

Prebacivanje cete obaviti pomocu kontrole file, koja se praviti uz pomoc elementa <input type="file">Kontroli cemo dati ime "poruka", pomocu kojeg cemo kasnije (u sledecem clanku) da pristupimo prebacenom fajlu.   

Friday, June 24, 2016

Preuzimanje podataka iz kontrole tipa password (Retrieving password data)

Kontrole za lozinke su HTML kontrole koje su korisne za unos lozinke i drugih osetljivih podataka. Iz ugla PHP, one se ponasaju kao polja za unos teksta, a iz ugla korisnika, prikazuju se tacke (en. bullet points) kada korisnik unosi tekst.

Primer: trazicemo od korisnika da unese lozinku.

HTML kod

<!DOCTYPE html>
<html>
<head>
<title>HTML forme</title>
</head>

Saturday, June 18, 2016

Preuzimanje podataka iz skrivenih kontrola (Retrieving data from hidden controls)

Skrivene kontrole omogucavaju da na web stranicama imate skrivene podatke, sto je korisno ako zelite da imate podatke o korisniku, a korisnik ne dozvoljava upotrebu kolacica. 

Primer: u skrivenoj kontroli sa imenom "skriveni_podatak" stavicemo tekst "Zdravo iz Beograda.".

HTML kod

<!DOCTYPE html>
<html>
<head>
<title>HTML forme</title>
</head>

Friday, June 17, 2016

Preuzimanje podataka iz lista (Retrieving data from lists)

Liste se prave pomocu kontrole <select> i podrzavaju izbor vise opcija.

Primer: trazicemo od korisnika da izabere omiljena turisticka mesta.

HTML kod - opcija 1

<!DOCTYPE html>
<html>
<head>
<title>HTML forme</title>
</head>

Thursday, June 16, 2016

Preuzimanje podataka iz radio dugmadi (Retrieving data from radio buttons)

Ako koristite radio dugmad, korisnik u jednom trenutku moze da izabere samo jedno od njih, sto je korisno ako korisniku zelite da prikazete opcije koje se iskljucuju.

Primer: za grupisanje radio dugmadi odaberite isti naziv za dva ili vise njih.

HTML kod

<!DOCTYPE html>
<html>
<head>
<title>HTML forme</title>
</head>

Saturday, June 11, 2016

Preuzimanje podataka iz polja za potvrdu (Retrieving data from checkboxes)

Polje za potvrdu se pravi pomocu HTML elementa <input type="checkbox">

Primer: pitacemo korisnika da li ima motor. 

HTML kod

<!DOCTYPE html>
<html>
<head>
<title>HTML forme</title>
</head>

Friday, June 10, 2016

Preuzimanje podataka iz oblasti za unos teksta (Retrieving data from textareas)

Oblasti za unos teksta su kontrole u kojima korisnik moze da unese vise redova teksta. Pravi se pomocu elementa <textarea>.

Primer: trazicemo od korisnika da navede svoje omiljene motore. To se unosi u oblasti za unos teksta sa imenom "motori". Kada korisnik klikne dugme Posaljite, podaci ce se poslati do PHP skripta php-oblast-teksta.php i ti podaci ce se prikazati na novoj web stranici. Podatke cemo preuzeti uz pomoc niza $_POST["motori"].

HTML kod

<!DOCTYPE html>
<html>
<head>
<title>HTML forme</title>
</head>

Thursday, June 9, 2016

Preuzimanje podataka iz polja za unos teksta (Retrieving data from text fields)

U prethodnom clanku smo napravili web stranicu sa poljem za unos teksta na formi. Ova stranica salje sadrzaj polja za unos teksta skriptu phptekst.php, sto se desava kada korisnik klikne dugme Posaljite.

Primer: da biste preuzeli podatke sa web stranice, upotrebite niz $_REQUEST, koji sadrzi sve podatke iz nizova $_GET i $_POST, sto znaci da ovaj niz mozete koristiti i sa $_GET i sa $_POST metodima. Na stranici phptekst.html polju za unos teksta smo dali ime "ime-motora", pomocu atributa name. Vrednost unetu u ovom polju mozemo da preuzmemo pomocu iskaza $_REQUEST["ime-motora"].

HTML kod je isti kao u prethodnom clanku.

<!DOCTYPE html>
<html>
<head>
<title>HTML forme</title>
</head>

Tuesday, June 7, 2016

Upotreba polja za unos teksta (Using a text fields)

Polja za unos teksta su kontrole u kojima korisnik moze da unese jedan red teksta. Prave se pomocu oznake <input type="text">, koja se nalazi u okviru oznake <form>.

Primer: jedna HTML strana, sa formom, prikazivace polje za unos teksta. Pomocu te strane cemo slati tekst koji se unese u polju za unos teksta. PHP skript ce da cita podatke koje je korisnik uneo i prikazace taj tekst na novoj strani. 

U ovom primeru cemo traziti ime omiljenog motora. Polje za unos teksta cemo nazvati ime-motora, koje se pravi pomocu atributa name. U sledecem clanku cemo koristiti to ime motora u PHP kodu da bismo preuzeli podatke koje je korsnik uneo.

<!DOCTYPE html>
<html>
<head>
<title>HTML forme</title>
</head>

Monday, June 6, 2016

Rukovanje podacima koji dolaze od korisnika preko web formi (Handling the data supplied by the user via web forms)

Da biste u PHP-u mogli da procitate podatke koji dolaze sa HTML kontrola, morate da te kontrole postavite na HTML forme koje se nalaze na web stranama. Ovo se postize pomocu HTML elementa <form>. Najvazniji atributi ovog elementa su:

  • action
  • method
  • target
Atribut action - predstavlja URL koji ce rukovati podacima sa forme. Moze da se izostavi, i u tom slucaju se podrazumeva URL tekuceg dokumenta.

Atribut method - definise metod ili protokol za slanje podataka do ciljnog URL-a. Ako postavite da to bude get, sto je podrazumevana vrednost, metod parove ime/vrednost salje preko URL-a u obliku URL?ime=vrednost&ime=vrednost. Ako postavite da to bude post, onda se sadrzaj forme kodira isto kao kod metoda get, ali se podaci salju skriveno.

Atribut target - pokazuje na okvir (en. frame) u pretrazivacu koji treba da prikaze rezultat.

Primer: ako zelite da procitate podatke koje je korisnik uneo pomocu kontrola na web strani, zelite da koristite PHP skript sa imenom phpcitac.php, koji se nalazi u istom folderu kao phpcitac.html. U tom slucaju atribut action forme treba da postavite na phpcitac.php. Ako phpcitac.php nije u istom folderu, onda morate da zadate njegov URL relativno u odnosu na tekucu stranu ili apsolutno, kao na primer, http://imewebsajta,com/vaseime/phpcitac.php.


<!DOCTYPE html>
<html>
<head>
<title>HTML forme</title>
</head>

Wednesday, June 1, 2016

Rukovanje kontrolama iz HTML-a na web stranama (Handling controls from HTML on web pages)

Tabela HTML kontrole (Table HTML controls)
Rukovanje podacima koji dolaze od korisnika preko web formi (Handling the data supplied by the user via web forms)
Upotreba polja za unos teksta (Using a text fields)
Preuzimanje podataka iz polja za unos teksta (Retrieving data from text fields)
Preuzimanje podataka iz oblasti za unos teksta (Retrieving data from textareas)
Preuzimanje podataka iz polja za potvrdu (Retrieving data from checkboxes)
Preuzimanje podataka iz radio dugmadi (Retrieving data from radio buttons)
Preuzimanje podataka iz lista (Retrieving data from lists)
Preuzimanje podataka iz skrivenih kontrola (Retrieving data from hidden controls)
Preuzimanje podataka iz kontrole tipa password (Retrieving password data)
Preuzimanje podataka sa mape slika (Retrieving image map data)
Prebacivanje fajlova (Uploading files)
Citanje prebacenih fajlova (Retrieving uploaded file data)
Upotreba dugmadi sa JavaScript-om i skrivenom kontrolom (Using buttons with JavaScript and hidden control) 
Upotreba dugmadi sa dugmadima tipa Submit (Using buttons with buttons type Submit)
Upotreba dugmadi pomocu atributa Value dugmeta Submit (Using buttons with attribute Value of button Submit) 









Tabela HTML kontrole (Table HTML controls)




Monday, May 30, 2016

Rukovanje greskama koje se dese u funkciji (Handling errors that occur in the function)

Ako se u funkciji desi neka greska, ona cesto namerno vraca false. Ne samo da su mnoge ugradjene PHP funkcije napravljene na ovaj nacin, vec treba da radite isto i kad pisete svoje funkcije. 

Primer: izracunavanje reciprocne vrednosti. Funkcija vraca netacno (FALSE), ako se trazi reciprocna vrednost sa 0.

function reciprocna_vrednost($vrednost)
{
if($vrednost != 0){
return 1 / $vrednost;
}
else {
return FALSE;
}

}

Sunday, May 29, 2016

Upotreba fajlova koji se ukljucuju (Using include files)

Moguce je ukljuciti sadrzaj jednog PHP fajla u drugi PHP fajl (pre nego sto ga server izvrsi), sa include ili require iskazom.

Inlcude i require iskazi su identicni, osim nakon neuspeha:
  • include ce proizvesti samo upozorenje i skripta ce se nastaviti
  • require ce proizvesti fatalnu gresku i zaustaviti skriptu

Dakle, ako zelite da se izvrsenje nastaviti i prikazete korisniku izlaz, cak iako include fajl nedostaje, koristite include iskaz. 
Inace, u slucaju CMS-a ili slozene PHP aplikacije, uvek koristite require iskaz da ukljucite kljucni fajl na tok izvrsenja. Ovo ce pomoći da se izbegne ugrozavanja sigurnosti i integriteta aplikacije, za svaki slucaj, ako jedan fajl slucajno nedostaje.

Friday, May 27, 2016

Kreiranje funkcija unutar funkcija (Creating functions within the functions)

Kreiranje funkcija unutar funkcija tj. ugnjezdene funkcije

U PHP-u mozete da ugnjezdite funkcije, kao i kod uslovnih funkcija, medjutim, interne funkcije se ne mogu videti sve dok se pozove funkcija koja ih sadrzi.

Primer: pozivanje funkcije unutar funkcije, ali tek nakon sto je pozvana spoljasnja funkcija:

<?php

function ogradjena_funkcija()
{
echo "Zdravo iz ogradjene funkcije.<br />";

function napravljena_funkcija()
{
echo "Zdravo iz ugnjezdene funkcije.<br />";
}
}

ogradjena_funkcija();

napravljena_funkcija();

?>

Rezultat:

Zdravo iz ogradjene funkcije.
Zdravo iz ugnjezdene funkcije.


Creating a function within the function ie. nested functions

In PHP you can nest functions, as well as in conditional functions, however, the internal functions can not be seen until the function that contains them is called..

Example: calling the function within the function, but only after the outer function is called:

<?php

function enclosed_function()
{
echo "Hello from enclosed function.<br />";

function created_function()
{
echo "Hello from nested function.<br />";
}
}

enclosed_function();

created_function();

?>


Result:

Hello from enclosed function.
Hello from nested function.


Thursday, May 26, 2016

Funkcije u PHP-u (Functions in PHP)

Kreiranje funkcije (Creating function)
Prosledjivanje podataka funkcijama (Passing data to functions)
Prosledjivanje nizova u funkciju (Passing arrays in function)
Definisanje podrazumevanih argumenata funkcije (Defining default arguments of function)
Prosledjivanje argumenata po referenci (Passing arguments by reference)
Kreiranje promenljive liste argumenata (Creating a variable list of arguments)
Vracanje vrednosti iz funkcija (Returning values from functions)
Vracanje niza iz funkcije (Returning arrays from functions)
Vracanje liste iz funkcije (Returning list from function)
Vracanje referenci iz funkcija (Returning references from functions)
Upotreba lokalnog domena promenljive (Using local scope of variable)
Upotreba globalnih podataka u funkcijama (Using global data in functions)
Upotreba staticke promenljive (Using static variables)
Kreiranje promenljivih za funkcije (Creating variables for functions)
Kreiranje uslovnih funkcija (Creating conditional functions)
Kreiranje funkcija unutar funkcija (Creating functions within the functions)
Upotreba fajlova koji se ukljucuju (Using include files)
Rukovanje greskama koje se dese u funkciji (Handling errors that occur in the function)

Rukovanje nizovima i stringovima (Handling arrays and strings)

Funkcije za rad sa stringovima (Functions for working with strings)
Lista funkcija za rad sa stringovima (List of functions for working with strings)
Formatiranje stringova (Formatting strings)
Konvertovanje u string iz stringa (Converting to string from a string)
Pravljenje nizova (Creating arrays)
Izmena nizova (Modification of arrays)
Brisanje elemenata iz niza (Removing elements from array)
Prolaz kroz niz (Loop through array)
Lista funkcija za rad sa nizovima (List of functions for working with arrays)
Sortiranje nizova (Sorting arrays)
Kretanje kroz nizove (Navigating through arrays)
Spajanje i rastavljanje nizova (Joining and breaking arrays)
Vadjenje promenljivih iz niza (Extracting variables from an array)
Spajanje i deoba nizova (Merging and slicing arrays)
Poredjenje nizova (Comparing arrays)
Manipulacija podacima u nizovima (Manipulating data in arrays)
Kreiranje visedimenzionalnih nizova (Creating multidimensional arrays)
Prolaz kroz visedimenzionalni niz (Looping through a multidimensional array)
Upotreba operatora za rad sa nizovima (Using the operators to work with arrays)

Kontrola pomocu operatora i iskaza za kontrolu toka (Control using operators and statements for flow control)

Matematicki operatori (Mathematical operators)
Operatori dodele (Assignment operators)
Povecanje i smanjenje promenljive za 1 (Incrementing and decrementing the variable to 1)
Prioritet operatora (Operators Priority)
Operatori za rad sa stringovima (Operators for work with strings)
Koriscenje if iskaza (Using if statement)
Operatori poredjenja (Comparison operators)

Osnove PHP-a (Basics of PHP)

Kreiranje uslovnih funkcija (Creating conditional functions)

PHP je jezil koji se interpretira, sto znaci da se funkcije deklarisane unutar uslovnih iskaza, kao sto je iskaz if, ne mogu pozvati sve dok PHP interpreter ne izvrsi taj uslovni iskaz i vidi tu funkciju.

Primer: ako imamo funkciju postojeca_funkcija():

function postojeca_funkcija()
{
echo "postojeca_funkcija(): Ja sam spreman za pokretanje cim skripta pocne.<br />";
}

Nastavak primera: ova funkcija se moze pozvati cim se ovaj skript pokrene:

Saturday, May 14, 2016

Kreiranje promenljivih za funkcije (Creating variables for functions)

Promenljive za funkcije mogu da sadrze nazive funkcija, a funkcije pozivate tako sto cete iza promenljive dodati zagrade. Na osnovu toga, moze se u trenutku izvrsenja programa odrediti koja ce se funkcija pozvati.

Primer: ako imamo funkciju suzuki:

function suzuki()
{
echo "Sada smo u suzuki() <br />";
echo "Imamo puno suzuki motora.<br /><br />";
}

Nastavak primera:  da biste ovu funkciju pozvali pomocu promenljive za funkcije, potrebno je da promenljivoj dodelite vrednost "suzuki" i da onda funkciju pozovete pomocu promenljive: