php i html tagovigimnazija.bdcentral.net/korisnik/cetvrti... · metode slanja i prihvata podataka...

32
PHP i HTML tagovi kombinovanje

Upload: others

Post on 13-Oct-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: PHP i HTML tagovigimnazija.bdcentral.net/korisnik/cetvrti... · Metode slanja i prihvata podataka Postoje dvije metode prosljeđivanja podataka HTML forme PHP dokumentu, i to su POST

PHP i HTML tagovi

kombinovanje

Page 2: PHP i HTML tagovigimnazija.bdcentral.net/korisnik/cetvrti... · Metode slanja i prihvata podataka Postoje dvije metode prosljeđivanja podataka HTML forme PHP dokumentu, i to su POST

Forme HTML Objekti na formama

Page 3: PHP i HTML tagovigimnazija.bdcentral.net/korisnik/cetvrti... · Metode slanja i prihvata podataka Postoje dvije metode prosljeđivanja podataka HTML forme PHP dokumentu, i to su POST

Korišdenje HTML tagova u kodu

Kreiranje tabele koja sadrži podatke

<table border="1" cellpadding="5" cellspacing="0">

Označava se kolika je granica, koliko je širina delija i razmaka između granica.

Page 4: PHP i HTML tagovigimnazija.bdcentral.net/korisnik/cetvrti... · Metode slanja i prihvata podataka Postoje dvije metode prosljeđivanja podataka HTML forme PHP dokumentu, i to su POST

<body>

<?php $cijenapj = 25; $procenat=10; $razlika = $cijenapj -($cijenapj* $procenat/100); ?> <table border="1" cellpadding="5" cellspacing="0"> <tr> <td>Cijena</td> <td>Procenat</td> <td>Trenutna cijena</td> </tr> <tr> <td><?php echo $cijenapj ?></td> <td><?php echo $procenat ?>%</td> <td><?php echo $razlika ?></td> </tr> </table> </body>

Prikaz podataka u tabeli

Page 5: PHP i HTML tagovigimnazija.bdcentral.net/korisnik/cetvrti... · Metode slanja i prihvata podataka Postoje dvije metode prosljeđivanja podataka HTML forme PHP dokumentu, i to su POST

<?php

$c = 25;

$p=10;

$r = $c -($c* $p/100);

?>

<table border="1" cellpadding="5" cellspacing="0">

<tr>

<td>Cijena</td>

<td>Procenat</td>

<td>Trenutna cijena</td>

</tr>

<tr>

<td><?php echo $c ?></td>

<td><?php echo $p ?>%</td>

<td><?php echo $r ?></td>

</tr>

</table>

Page 6: PHP i HTML tagovigimnazija.bdcentral.net/korisnik/cetvrti... · Metode slanja i prihvata podataka Postoje dvije metode prosljeđivanja podataka HTML forme PHP dokumentu, i to su POST

Izgled ekrana

Page 7: PHP i HTML tagovigimnazija.bdcentral.net/korisnik/cetvrti... · Metode slanja i prihvata podataka Postoje dvije metode prosljeđivanja podataka HTML forme PHP dokumentu, i to su POST

Metode slanja i prihvata podataka

Postoje dvije metode prosljeđivanja podataka HTML forme PHP dokumentu, i to su POST i GET metoda.

Ako odaberemo metodu GET- podaci forme se šalju kroz komandnu liniju, tj. iza znaka ? u URL adresi. Odabirom metode POST - podaci nisu vidljivi u komandnoj liniji ved se šalju kroz header HTTP requesta, i time se na podatke ne može uticati izmjenom linka kao kod GET metodom.

Page 8: PHP i HTML tagovigimnazija.bdcentral.net/korisnik/cetvrti... · Metode slanja i prihvata podataka Postoje dvije metode prosljeđivanja podataka HTML forme PHP dokumentu, i to su POST

Postoji ograničenje, koja zavise od postavki servera, na količinu podataka koji se mogu poslati putem GET metode.

Obavezno mora koristiti POST metoda kada se izrađuju upload forme.

Page 9: PHP i HTML tagovigimnazija.bdcentral.net/korisnik/cetvrti... · Metode slanja i prihvata podataka Postoje dvije metode prosljeđivanja podataka HTML forme PHP dokumentu, i to su POST

GET

$_GET NE treba koristiti:

Kada se unose podaci o lozinkama ili drugim osjetljivim informacijama (npr. broj kreditne kartice) kod velikih vrijednosti varijabli (ograničenje je max. 100 znakova)

$_GET treba koristiti:

Kada želimo stranicu staviti u bookmark (kako bi se odmah učitala sa unesenim podacima).

Page 10: PHP i HTML tagovigimnazija.bdcentral.net/korisnik/cetvrti... · Metode slanja i prihvata podataka Postoje dvije metode prosljeđivanja podataka HTML forme PHP dokumentu, i to su POST

POST

Varijabla $_POST koristi se kada želimo preuzeti vrijednosti iz neke forme.

Varijabla $_POST je niz naziva varijabli i njihovih vrijednosti koje su poslane od strane HTTP POST metode.

$_POST preuzima vrijednosti koje su poslane iz forme (pomodu atributa method="post").

Informacija koja se šalje iz forme metodom POST je nevidljiva ostalim korisnicima.

Ne postoji ograničenje u broju znakova koji se može poslati s pomodu metode POST.

Page 11: PHP i HTML tagovigimnazija.bdcentral.net/korisnik/cetvrti... · Metode slanja i prihvata podataka Postoje dvije metode prosljeđivanja podataka HTML forme PHP dokumentu, i to su POST

<form method="POST" action="akcija.php">

Tvoje ime:<br/> <input type="text" name="ime" /><br/>

Tvoj e-mail:<br/> <input type="text" name="e_mail"

/><br/> <input type="submit" name="submit"

value="posalji" /> </form>

Page 12: PHP i HTML tagovigimnazija.bdcentral.net/korisnik/cetvrti... · Metode slanja i prihvata podataka Postoje dvije metode prosljeđivanja podataka HTML forme PHP dokumentu, i to su POST

Primjer metode POST

Nakon slanja podataka kreiraju se dvije promjenljive

$_POST['ime'] i $_POST['e_mail'] i prosljeđuju se

stranici akcija.php putem POST metoda.

Stranica akcija.php

<?php

echo $_POST[' ime ']. "</br>";

echo $_POST[' e_mail '];

?>

Page 13: PHP i HTML tagovigimnazija.bdcentral.net/korisnik/cetvrti... · Metode slanja i prihvata podataka Postoje dvije metode prosljeđivanja podataka HTML forme PHP dokumentu, i to su POST

FORMA I ISPIS

<html>

<head></head>

<body>

<form action="poruka.php" method="post"> unesi svoju poruku: <input type="text" name="poru" size="30">

<input type="submit" value="Pošalji">

</form>

<?php

$input = $_POST['poru'];

echo "Tvoja poruka glasi: <i> $input</i>";

?>

</body>

</html>

Page 14: PHP i HTML tagovigimnazija.bdcentral.net/korisnik/cetvrti... · Metode slanja i prihvata podataka Postoje dvije metode prosljeđivanja podataka HTML forme PHP dokumentu, i to su POST

Čitanje i slanje podataka

<html> <head></head> <body> <?php // Prihvatanje poslanih podataka iz forme $input = $_POST['poru ']; // prikazi poruku

echo "Tvoja poruka glasi: <i>$input</i>"; ?> </body> </html>

Označava da su slova ukušena - Italic

Page 15: PHP i HTML tagovigimnazija.bdcentral.net/korisnik/cetvrti... · Metode slanja i prihvata podataka Postoje dvije metode prosljeđivanja podataka HTML forme PHP dokumentu, i to su POST
Page 16: PHP i HTML tagovigimnazija.bdcentral.net/korisnik/cetvrti... · Metode slanja i prihvata podataka Postoje dvije metode prosljeđivanja podataka HTML forme PHP dokumentu, i to su POST

Metod Get <html> <head> <title>Primjer forme za unos</title> </head> <body>

<form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="get">

Ukucati poruku: <input type="text" name="poruka" size="30">

<input type="submit" name="posalji" value="Posalji">

</form>

</body>

<?php

if (isset ($_GET['posalji'])) // Ako je kliknuto na "Posalji“

{

$input = $_GET['poruka']; // prihvatiti poruku iz forme

echo "Napisali ste: <i>$input</i>"; // Pisi poruku u italic stilu

}

?> </html>

Page 17: PHP i HTML tagovigimnazija.bdcentral.net/korisnik/cetvrti... · Metode slanja i prihvata podataka Postoje dvije metode prosljeđivanja podataka HTML forme PHP dokumentu, i to su POST
Page 18: PHP i HTML tagovigimnazija.bdcentral.net/korisnik/cetvrti... · Metode slanja i prihvata podataka Postoje dvije metode prosljeđivanja podataka HTML forme PHP dokumentu, i to su POST

Rad sa formularima

Primer formulara u jednom fajlu upis2.php:

<?php

if (isset($_POST["upis"]))

{echo $_POST["emeil"], '<br />', $_POST['sifra'];}

else {

echo <<<EOT

<form action="upis2.php" method="post">

<p> E-meil: <br /> <input type="text" name= "emeil" /> </p>

<p> Šifra: <br /> <input type="password" name="sifra"/> </p>

<input type="submit" name="upis" value="Upiši se!" />

</form>

EOT;

}

?>

Page 19: PHP i HTML tagovigimnazija.bdcentral.net/korisnik/cetvrti... · Metode slanja i prihvata podataka Postoje dvije metode prosljeđivanja podataka HTML forme PHP dokumentu, i to su POST

Rad sa formularima

Ispis na ekran

Page 20: PHP i HTML tagovigimnazija.bdcentral.net/korisnik/cetvrti... · Metode slanja i prihvata podataka Postoje dvije metode prosljeđivanja podataka HTML forme PHP dokumentu, i to su POST

Rad sa formularima:

PHP i JavaScript

Primer fajla upis3.php:

<html>

<form action="upis3.php" method=post>

<p> e-meil: <br /> <input type="text" name="emeil" ></p>

<p> Šifra: <br /> <input type="password" name="sifra"/> </p>

<input type="submit" name="upis" value="Upiši se!" />

</form>

<?php if (isset($_POST["upis"])){ $x='emeil'; ?>

<script type="text/javascript">

alert ("Emeil je: <?php echo $_POST[$x]; ?>");

</script>

<?php } ?>

</html>

Page 21: PHP i HTML tagovigimnazija.bdcentral.net/korisnik/cetvrti... · Metode slanja i prihvata podataka Postoje dvije metode prosljeđivanja podataka HTML forme PHP dokumentu, i to su POST

Rad sa formularima: PHP i JavaScript

Page 22: PHP i HTML tagovigimnazija.bdcentral.net/korisnik/cetvrti... · Metode slanja i prihvata podataka Postoje dvije metode prosljeđivanja podataka HTML forme PHP dokumentu, i to su POST

Rad sa formularima: izbor opcija Primer formulara sa listom u fajlu checkbox.php, daje niz sa value atributiima

izabranih polja:

<?php

echo <<<EOT

Izaberite omiljene programske jezike? <br />

<form action="checkbox.php" method=post>

<input type="checkbox" name="jezici[]" value="csharp"/> C# <br />

<input type="checkbox" name="jezici[]" value="jscript"/> JavaScript <br />

<input type="checkbox" name="jezici[]" value="perl"/> Perl <br />

<input type="checkbox" name="jezici[]" value="php"/> PHP <br />

<input type="submit" name="upis" value="Pošalji!" />

</form>

EOT;

if (isset($_POST['upis']))

{echo "Izabrali ste jezike: <br />";

foreach($_POST['jezici'] AS $jezik) echo "$jezik <br />";}

?>

Page 23: PHP i HTML tagovigimnazija.bdcentral.net/korisnik/cetvrti... · Metode slanja i prihvata podataka Postoje dvije metode prosljeđivanja podataka HTML forme PHP dokumentu, i to su POST

Rad sa formularima:

izbor opcija

Ispis na ekran

Page 24: PHP i HTML tagovigimnazija.bdcentral.net/korisnik/cetvrti... · Metode slanja i prihvata podataka Postoje dvije metode prosljeđivanja podataka HTML forme PHP dokumentu, i to su POST

Funkcija include()

Ova funkcija omogudava umetanje sadržaja druge .php datoteke u trenutno aktivnu .php datoteku.

include("naziv_datoteke")

Koristiti se kada se dijelovi ponavljaju na više web stranica, kao npr. zaglavlja, meni, i dr.

Takvi dijelovi se smještaju u posebne php datoteke i pozivaju iz osnovne datoteke, što omogudava lakše ažuriranje, npr. ako želimo napraviti promjenu u meniju, to treba učiniti samo u jednoj php datoteci u kojoj je meni.

Page 25: PHP i HTML tagovigimnazija.bdcentral.net/korisnik/cetvrti... · Metode slanja i prihvata podataka Postoje dvije metode prosljeđivanja podataka HTML forme PHP dokumentu, i to su POST

Primjer upotrebe include()

uključuje zaglavlje iz posebne datoteke:

<html>

<body>

<?php include("header.php"); ?>

<h1>Dobro došli na moju stranicu!</h1>

<p>Neki tekst</p>

</body>

</html>

Sadržaj datoteke "header.php" može biti npr.:

<h2><center>JU GIMNAZIJA VASO PELAGIĆ BRČKO</h2>

<img src="logo.gif">

Page 26: PHP i HTML tagovigimnazija.bdcentral.net/korisnik/cetvrti... · Metode slanja i prihvata podataka Postoje dvije metode prosljeđivanja podataka HTML forme PHP dokumentu, i to su POST

Spajanje na bazu podataka MySQL

Za spajanje na bazu podatka MySQL na raspolaganju je funkcija mysql_connect().

Primjer:

<?php

$db = mysql_connect('localhost' 'mysql_user', 'mysql_password');

?>

Page 27: PHP i HTML tagovigimnazija.bdcentral.net/korisnik/cetvrti... · Metode slanja i prihvata podataka Postoje dvije metode prosljeđivanja podataka HTML forme PHP dokumentu, i to su POST

Nakon izvođenja varijabla $db sadrži informacije potrebne za izvršavanje upita nad bazom podataka.

U primjeru vrši se spajanje na sistem za upravljanje bazom podataka koji se nalazi na lokalnom računalu ("localhost"), a korisnik kojim se želi spojiti je "mysql_user". Lozinka korisnika "mysql_user" glasi "mysql_password".

U pravilu je dobro provjeriti da li je spajanje na sistem za upravljanje bazom podataka uspjelo ili ne.

U nekim slučajevima možda sistem nije pokrenut ili je došlo do greške u njegovom radu.

Takođe, nakon korišdenja baze treba je i zatvoriti upotrebom naredbe mysql_close().

Page 28: PHP i HTML tagovigimnazija.bdcentral.net/korisnik/cetvrti... · Metode slanja i prihvata podataka Postoje dvije metode prosljeđivanja podataka HTML forme PHP dokumentu, i to su POST

Konekcija na bazu sa zatvaranjem

<?php

$db = mysql_connect('localhost', 'korisni', 'lozinka');

if (!$db) {

die('Greška prilikom spajanja: ' . mysql_error());

}

echo 'Uspješno spojen.';

// Ostatak programa koji izvodi upit na bazu

mysql_close($db);

?>

Page 29: PHP i HTML tagovigimnazija.bdcentral.net/korisnik/cetvrti... · Metode slanja i prihvata podataka Postoje dvije metode prosljeđivanja podataka HTML forme PHP dokumentu, i to su POST

Provjera ispravnosti veze se provjerava linijom: if(!$db). U slučaju da se funkcija mysql_connect nije uspjela spojiti sa SUBP ona de imati vrijednost false.

Funkcija die() prekida izvođenje ostatka programa i ispisuje poruku koju upisuje autor.

Funkcija mysql_error() prihvata poruku o grešci koja je nastala.

Za izvođenje upita na raspolaganju je funkcija mysql_query().

Page 30: PHP i HTML tagovigimnazija.bdcentral.net/korisnik/cetvrti... · Metode slanja i prihvata podataka Postoje dvije metode prosljeđivanja podataka HTML forme PHP dokumentu, i to su POST

Korišdenje podataka iz tabela

Da bi koristili informacija iz tabela u bazi, nakon uspostavljanja veza sa SUBP potrebno je upisati kod:

<?php

$rezultat=mysql_query('SELECT * FROM korisnik', $db);

if(!rezultat){

die('Greška prilikom izvođenja upita '. mysql_error());

}

?>

Page 31: PHP i HTML tagovigimnazija.bdcentral.net/korisnik/cetvrti... · Metode slanja i prihvata podataka Postoje dvije metode prosljeđivanja podataka HTML forme PHP dokumentu, i to su POST

Za prikaz niza rezultata potrebno je koristiti funkciju mysql_fetch_array() .

<?php

while ($row = mysql_fetch_array($rezultat)) {

echo 'Ime: '. $row['ime'] . ' Prezime' . $row['prz']. "\n");

}

// Rezultat:

// Ime: Eva Prezime: Ras

// Ime: Ana Prezime: Antid

?>

Page 32: PHP i HTML tagovigimnazija.bdcentral.net/korisnik/cetvrti... · Metode slanja i prihvata podataka Postoje dvije metode prosljeđivanja podataka HTML forme PHP dokumentu, i to su POST

Prikaz podataka uz uslov

<?php

$rezultat =

mysql_query("SELECT * FROM korisnik WHERE ime = '$_GET[ime]'", $db);

if(!rezultat){

die('Greška prilikom izvođenja upita '. mysql_error());

}

?>