[Tutorial] PHP

poruka: 8
|
čitano: 1.285
|
moderatori: naxeem, F1-IVO, Danny_HR, Lazarus Long
1
+/- sve poruke
ravni prikaz
starije poruke gore
7 mjeseci
offline
[Tutorial]PHP

PHP je objektno-orijentiran programski jezik namijenjen prvenstveno programiranju dinamičnih web stranica.

Razvio ga je sredinom devedesetih, Rasmus Lerdorf. U početku je bio skup Perl skripti za brojanje posjeta web stranica, kasnije je Rasmus Lerdorf razvio novu verziju PHP-a u C-u, koja je mogla raditi sa bazama podataka i PHP je postao OpenSource.
PHP je server-side jezik, ali pretpostavljam da nemate zakupljen, pa ćemo raditi u localhost-u.
Koristiti ćemo XAMPP, ukoliko vaš server nema instaliran PHP, preuzmite ga odavde.


Kod u stilu "Kod" je samo PHP kod, njega je potrebno ubaciti u HTML kostur:

<html>
<head><title>Ime</title>

<body>
 OVDJE IDE KOD IZ STILA "KOD"!

</body>
</html>
, naravno ovo je samo "kostur", vi uređujte svojim znanjem iz XHTML-a, Sretno!
Sintaksa:
<?php


neki kod


?>

 

Php fajl se sprema u dadoteku .php .

 

<html>
<body>
<?php
echo"Zdravo";
?>
</body>
</html

 

 

echo je naredba za ispisivanje teksta.

Kao i mnogim drugim programskim jezicima pa tako i u PHP-u varijable nam služe da pohranimo neku vrijednost. Kada spremimo neku vrijednost u neku varijablu možemo je koristiti dalje u kodu bez potrebe da ponovo upisujemo tu vrijednost.

Varijable:

$ime_korisnika = "Ive";

Primjetite navodnike kod imena Ive.

ili

$broj = 189;



Primjetite da kod brojeva ne trebaju navodnici.

Pravila imenovanja varijabli

- PHP varijable moraju početi sa slovom ili znakom _
- PHP varijable mogu sadržavati jedino alfa-numeričke znakove a-z , A-Z, 0-9 ili _
- Varijable sa više riječi trebale bi biti razdvojene sa _ ili ih možete napisati ovako da razlikujete riječi u imenu:
$mojaVarijabla;

 

INCLUDE funkcija:


PHP funkcija INCLUDE vam može spasiti puno vremena.Ta funkcija uzima datoteku i ubacuje njen sadržaj u skriptu koja je pozvala tu funkciju.
include("ime.inc");

Include komanda uzima sav tekst koji postoji u nekom fileu i kopira ga u file koji koristi inlude funkciju. Include funkcija je korisna kada želiš inlcludati više stranica i kod izrade web-stranica .


Grananje u PHP-u:
PHP petlja IF je jako slična petlji IF iz raznih drugih programskih jezika. Također, ta petlja je bitna za svako programiranje.

<?php
$ime="Ive";

if($ime=="Ive"){
echo"Zdravo Ive \n";
}
?>

U logiku grananje nećemo ulaziti, ovdje objašnjavam vezano za PHP.

<?php
$ime="Ive";

if($ime=="Ive"){
echo"Zdravo Ive \n";
}
else{
echo"Nisi Ive!\n";
}
?>

Pretpostavimo da imamo više izbora, tada je ružno pisati elseif, tada koristimo switch.
<?php
$ime="Ive";
switch($ime){
case "Ive": echo"Zdravo Ive!\n"; break;
case "Senaid": echo"Daj pusti Ivu!\n"; break;
default: echo"Pa ko si ti?\n"; break;
}
?>


Operatori:
Matematički operatori

Operator Značenje
+ zbrajanje
- oduzimanje
* množenje
/ dijeljenje
% ostatak

Poredbeni operatori

== jednako $a == $b false
=== apsolutno jednako $a===$a true
!= nije jednako $a != $b true
< manje od $a < $b true
> veće od $a > $b false
<= manje ili jednako od $a <= $b true
>= veće ili jednako od $a >= $b false

Sutra pišem dadoteke i još neke stvari, sigurno ima grešaka, ali to ću sve prepraviti sutra.

Pozdrav!



Programming is understanding. – Kristen Nygaard
Poruka je uređivana zadnji put ned 13.11.2011 17:49 (royalhero).
7 mjeseci
offline
[Tutorial]PHP

Dadoteke:

Ovdje ćemo se pozabaviti radom sa dadotekama u PHP-u.

Otvaranje dadoteke:
Funkcija za stvaranje datoteka se zove fopen. Ako postoji dadoteka sa sa sitim imenom, fopen će je samo otvoriti, bez stvaranja nove, a ako nepostoji dadoteka sa istim imenom fopen će je stvoriti.


Fopen mora sadržavati dvije informacije:
1.Ime dadoteke koju ćemo otvoriti.
2.Moramo funkciji fopen reći što će raditi sa dadotekom, pomoću pointera:

  Pisanje: 'w' //otvara datoteku samo za pisanje, prijašnji podaci izbrisani

  Čitanje: 'r' //otvara datoteku samo za čitanje

  Nadopisivanje :'a' //otvara datoteku samo za pisanje, ali prijašnji podaci sačuvani i file pointer na kraju dadoteke
  Čitanje/Pisanje: 'r+'   //otvara datoteku za pisanje i čitanje, file pointer se nalazi na početku datoteke
  Pisanje/Čitanje: 'w+' //                 -||-  , kada je dadoteka otvorena sve prethodno se briše
  Nadopisivanje: 'a+'  //                  -||- ,  sadržaj ostaje, pokazivač se nalazi na kraju dadoteke

<?php
$ime="dadoteka1.txt";
$dadoteka=fopen($ime, 'file_pointer') or die("Cannot open file!");
fclose($dadoteka);
?>

 

Prvo što moramo uraditi je postaviti ime dadoteke u varijalu, moramo kreirati varijablu koja će upravljati dadotekom i u nju postavimo funkciju fopen.
or die("Cannot open file!");Govori korisniku da nemože otvoriti dadoteku.
Na kraju funkcijom fclose zatvaramo dadoteku, argument joj je varijabla sa funkcijom fopen.

 

Pisanje u dadoteku:

Pisanjem u dadoteku ćemo se služiti funkcijom fwrite:
<?php
$ime="dadoteka1.txt";
$dadoteka=fopen($ime, 'w') or die("Cannot open file!");
$podatak="BugOnline, Forum";
fwrite($dadoteka, $podatak);
fclose($dadoteka);
?>

Funkcij fwrite, smo predali dva argumenta, varijablu koja upravlja dadotekom i podatak koji treba zapisati u dadoteku, taj podatak može biti bilo što, najčešće se dadoteke koriste ako je potrebno imati neku vijest ili nešto slično, a nekoristimo bazu, onda funkcijom fwrite to zapišemo u tu dadoteku.

Pored zapisivanja u dadoteku, često je potrebno i čitati iz nje tada na scenu stupa fread.
Prije pisanja treba drugačije otvoriti ili stvoriti dadoteku, umjesto 'w', treba 'r' ili 'a', 'r+' ili 'a+'.
Prethodno treba znati veličinu dadoteke u byteovima, 1 znak=1 byte
<?php
$ime="dadoteka1.txt";
$dadoteka=fopen($ime, 'r') or die("Cannot open file!");
$pisanje=fread($dadoteka, 16);
echo $pisanje;
fclose($dadoteka);
?>

Ali nemožemo uvjek znati tačnu veličinu onda se koristimo filesize.
filesize($dadoteka)
<?php
$ime="dadoteka1.txt";
$dadoteka=fopen($ime, 'r') or die("Cannot open file!");
$pisanje=fread($dadoteka, filesize($dadoteka));
echo $pisanje;
fclose($dadoteka);
?>

Programming is understanding. – Kristen Nygaard
Poruka je uređivana zadnji put ned 13.11.2011 17:13 (royalhero).
7 mjeseci
offline
[Tutorial]PHP

Brisanje, nadodavanje, skraćivanje dadoteke

Nadodavanje:
To vam je već jasno, pomoću file_pointera 'a', pa evo da i to prođemo:

<?php
$ime="dadoteka1.txt";
$dadoteka=fopen($ime, 'a') or die("Cannot open file!");
$podatak2="\nOvo će biti nadodano na kraj!";
fclose($dadoteka);
?>

Sada je stanje u dadoteci:
BugOnline, Forum!
Ovo če biti nadodano na kraj!

Naravno ako ste prethodno sačuvali dadoteku iz prethodnih postova.

Skraćivanje

To je kao neki reset dadoteke, ali pazite da ne resetujete neku XAMPPovu textualnu dadoteku!

 

<?php
$ime="dadoteka1.txt";
$dadoteka=fopen($ime, 'w') or die("Cannot open file!");
fclose($dadoteka);
?>


File_pointer 'w' prethodni tekst briše, tako smo resetovali dadoteku.


Brisanje

<?php
$ime="dadoteka1.txt";
$dadoteka=fopen($ime, 'file_pointer') or die("Cannot open file!");
fclose($dadoteka);
?>


Ovim smo otvorili dadoteku imena dadoteka1.txt na serveru, u našem slučaju u mapi htdocs.
Nerijetko nakon obvljenog posla dadoteku treba izbrisati, to radimo funkcijom unlink, koja ima samo jedan parametar, varijablu koja sadrži ime dadoteke koju treba izbrisati.
Ovdje morate biti oprezni da ne izbrišete dadoteku koju neželite izbrisati.
<?php
$ime="dadoteka1.txt";
unlink($ime);
?>
Ovim je famozna dadoteka imena "dadoteka1.txt" izbrisana.

 

Programming is understanding. – Kristen Nygaard
Poruka je uređivana zadnji put ned 13.11.2011 17:13 (royalhero).
7 mjeseci
offline
[Tutorial]PHP

MySql i PHP

I dio

Spajanje na server:
Pretpostavimo da imamo bazu podataka na localhostu, username nam je root i šifra bug_forum.
Bilo bi dobro da kreirate novi folder na serveru tipa php_mysql ili slično, da u njega spremate viježbe.
Kreirat ću fajl spajanje.php i u njemu koda sa spajanje na server:
<?php
if(!$baza=@mySQL_connect('localhost', 'root', 'bug_forum'){
die(mySQL_error)
}
?>
mySQL_connect:
Ova funkcija služi za povezivanje sa bazom, ima 3 argumenta, host, username, password.
die:
Sa ovom funkcijom smo se već susretali,  ispisuje grešku, u našem slučaju funkciju mySQL_error.
mySQL_error:
Funkcija koja ispisuje grešku koja se dogodila.

Spajanje na bazu:
Pretpostavimo da imamo bazu podataka koja se zove bug_novosti.
<?php
if(!$baza=@mySQL_connect('localhost', 'root', 'bug_forum'){
die(mySQL_error)
}
if(!mySQL_select_db("bug_novosti", $baza){
die(mySQL_error)
?>

mySQL_select_db:
Sa ovom funkcijom odabiremo bazu čije ćemo tablice koristiti, ima dva argumenta i to:
1.Ime baze koju ćemo koristiti
2.Vezu na server

Uskoro ću uraditi i unos podataka.

 

 

 

 

Programming is understanding. – Kristen Nygaard
Poruka je uređivana zadnji put ned 13.11.2011 17:13 (royalhero).
7 mjeseci
offline
Re: [Tutorial]PHP

Malo odskačemo od baza, ali sam se sjetio korisne stvari.

Pražnjenje varijabli:

Varijabla se prazni funkcijiom unset, ima parametar varijablu koju treba prazniti.
<?
$varijabla="Ovaj tekst ćese izbrisati";
echo $varijabla;
unset($varijabla);
?>

Ovim na serveru dobivamo više mijesta.
Kada završimo query-e, pokazat ću vam kako možemo i njih prazniti.

Programming is understanding. – Kristen Nygaard
7 mjeseci
offline
[Tutorial] PHP

Unos podataka u bazu
Kao što sam i u prvom tutorijalu o MySql-u i PHP-u, ovdje se nebavimo bazama podataka, ali eto pretpostavili smo da imamo bazu podataka "bug_novosti" i recimo tablicu "news1".

Inače unosimo u SQL preko naredbe INSTERT INTO ime_tablice("field1", "field2", "field3",...) VALUES("vrijednost fielda1",...);

Posao mi otežava to što se uvjek moram vraćati na SQL, ali nebi bilo loše da pogledate neki tutorijal o njemu, možda napišem jedan, ali na internetu imate na tone materijala za SQL, a ja vam preporučujem video tutorijale našeg fakulteta, FIT Mostar, koje sam postavio u ovoj temi:http://www.bug.hr/forum/topic/razvoj-web-stranica/e-learning-web-tehnologije/122392.aspx

Podatke ćemo unositi preko HTML forme, koju mislim da znate pa nemam potrebe obješnjavati input type-ove.

Što se naše "news1" tablice tiče, pretpostavimo da imamo fieldove "ime", "novost", "datum", ime je VARCHAR, novost je TEXT, datum je DATE.
<?php
if(!$baza=@mySQL_connect('localhost', 'root', 'bug_forum'){
die(mySQL_error)
}
if(!mySQL_select_db("bug_novosti", $baza){
die(mySQL_error)
?>


Ovaj kod spremite kao "link.php", kasnije ćemo ga include-at.

Pa krenimo, prvo ću staviti cijeli kod, pa ću ga obrazložiti.

<html>
<head>
<title>Unos u bazu</title>
</head>
<body>
<h2>Unos podataka u bazu Bug Novosti!</h2>
<br /><br /><br />

<?php
if($_POST["potvrda_unosa"]
?>

<form method="POST" action="">
<p>Naslov novosti:</p>
<input type="text" name="ime" size=20>
<p>Novost:</p>
<textarea name="novost"></textarea>
<br />
<input type="submit" name="potvrda_unosa" value="Unesi!">
</form>
<?php
}
else{
include("link.php);
$datum=date("Y-m-d");
$SQL="INSERT INTO news1(ime, novost, datum) VALUES('$_POST[ime]', '$_POST[novost]', '$datum')";
if(mysql_query($SQL)){
echo "Novost pohranjena, uskoro očekuj komentare na forumu!";
}
else{
echo "Novost nemože biti pohranjena!"<br />
mysql_error();
}
}
?>
</body>
</html>

 

 

Na početku uvjet if ima argument  name našeg submit botuna.
Kod poslje if-a i prije else-a neću analizirati, jer to pretpostavljam da znate.
Includali smo fajl "link.php" u kojem se spajamo na server i bazu.
U varijablu datum pohrnanjivamo vrijdnost fukcije date koja daje datum.
U varijablu SQL, u duple navodne, pišemo SQL kod, prvo poredamo fieldove, zatim im damo vrijednosti, $_POST[], vidjeli ste da je metod forme post, http://www.w3schools.com/php/php_post.asp, i varijablu datum koju smo prethodno deklarisali.
-mysql_query funkcija "provjerava da li je novost pohranjena", zašto sam stavio navodne, pa zato što nismo obrađivali upite/query-je, što je stvar baze.



Programming is understanding. – Kristen Nygaard
Poruka je uređivana zadnji put uto 15.11.2011 20:10 (royalhero).
6 mjeseci
offline
Re: [Tutorial]PHP
royalhero kaže...

Brisanje, nadodavanje, skraćivanje dadoteke

Nadodavanje:
To vam je već jasno, pomoću file_pointera 'a', pa evo da i to prođemo:

<?php
$ime="dadoteka1.txt";
$dadoteka=fopen($ime, 'a') or die("Cannot open file!");
$podatak2="\nOvo će biti nadodano na kraj!";
fclose($dadoteka);
?>

Sada je stanje u dadoteci:
BugOnline, Forum!
Ovo če biti nadodano na kraj!

Naravno ako ste prethodno sačuvali dadoteku iz prethodnih postova.

Skraćivanje

To je kao neki reset dadoteke, ali pazite da ne resetujete neku XAMPPovu textualnu dadoteku!

 

<?php
$ime="dadoteka1.txt";
$dadoteka=fopen($ime, 'w') or die("Cannot open file!");
fclose($dadoteka);
?>


File_pointer 'w' prethodni tekst briše, tako smo resetovali dadoteku.


Brisanje

<?php
$ime="dadoteka1.txt";
$dadoteka=fopen($ime, 'file_pointer') or die("Cannot open file!");
fclose($dadoteka);
?>


Ovim smo otvorili dadoteku imena dadoteka1.txt na serveru, u našem slučaju u mapi htdocs.

 

tu ti fale neke operacije nakon inicijalizacije pointera kolega. lijepi tutovi btw.

7 mjeseci
offline
Re: [Tutorial]PHP

Hvala, a vidio sam, treba fread u nadodavanju, inače nisam provjeravao kodove, uvjeren sam u svoje zanje {#}.

Programming is understanding. – Kristen Nygaard
1
Nova poruka
E-mail:
Lozinka:
 
vrh stranice