Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
PHP i HTML tagovi
kombinovanje
Forme HTML Objekti na formama
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.
<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
<?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>
Izgled ekrana
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.
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.
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).
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.
<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>
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 '];
?>
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>
Č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
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>
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;
}
?>
Rad sa formularima
Ispis na ekran
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>
Rad sa formularima: PHP i JavaScript
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 />";}
?>
Rad sa formularima:
izbor opcija
Ispis na ekran
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.
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">
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');
?>
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().
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);
?>
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().
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());
}
?>
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
?>
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());
}
?>