Professional Documents
Culture Documents
Pzikolokvij 2
Pzikolokvij 2
Ime i prezime:
Broj indeksa:
1. Napisati html form sa poljima za unos naružbe autodijelova: Tires, Oil, Spark Plugs, te jedan
padajući izbornik (select) sa mogućnostima: I'm a regular customer, TV advertising, Phone
directory, Word of mouth. Napisati skriptu processorder.php koja će obraditi narudžbu iz
forma i ispisati na stranicu datum naružbe , ukupan broj naručenih dijelova, definirati cijene
pojedinih dijelova te izračunati i ispisati ukupnu cijenu narudžbe uz porez od 10% i na kraju
ispisati što je korisnik odabrao iz padajućeg izbornika (select).
<html>
<body>
<form action="processorder.php" method="post">
<table border="0">
<tr bgcolor="#cccccc">
<td width="150">Item</td>
<td width="15">Quantity</td>
</tr>
<tr>
<td>Tires</td>
<td align="center"><input type="text" name="tireqty" size="3"
maxlength="3"></td>
</tr>
<tr>
<td>Oil</td>
<td align="center"><input type="text" name="oilqty" size="3" maxlength="3"></td>
</tr>
<tr>
<td>Spark Plugs</td>
<td align="center"><input type="text" name="sparkqty" size="3"
maxlength="3"></td>
</tr>
<tr>
<td>How did you find Bob's?</td>
<td><select name="find">
<option value = "a">I'm a regular customer</option>
<option value = "b">TV advertising</option>
<option value = "c">Phone directory</option>
<option value = "d">Word of mouth</option>
</select>
</td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" value="Submit Order"></td>
</tr>
</table>
</form>
</body>
</html>
processorder.php:
<?php
$tireqty = $_POST['tireqty'];
$oilqty = $_POST['oilqty'];
$sparkqty = $_POST['sparkqty'];
$find = $_POST['find'];
?>
<html>
<head>
<title>Bob's Auto Parts - Order Results</title>
</head>
<body>
<h1>Bob's Auto Parts</h1>
<h2>Order Results</h2>
<?php
$totalqty = 0;
$totalqty = $tireqty + $oilqty + $sparkqty;
echo "Items ordered: ".$totalqty."<br />";
if ($totalqty == 0) {
echo "You did not order anything on the previous page!<br />";
} else {
if ($tireqty > 0) {
echo $tireqty." tires<br />";
}
if ($oilqty > 0) {
echo $oilqty." bottles of oil<br />";
}
if ($sparkqty > 0) {
echo $sparkqty." spark plugs<br />";
}
}
$totalamount = 0.00;
define('TIREPRICE', 100);
define('OILPRICE', 10);
define('SPARKPRICE', 4);
if($find == "a") {
echo "<p>Regular customer.</p>";
} elseif($find == "b") {
echo "<p>Customer referred by TV advert.</p>";
} elseif($find == "c") {
echo "<p>Customer referred by phone directory.</p>";
} elseif($find == "d") {
echo "<p>Customer referred by word of mouth.</p>";
} else {
echo "<p>We do not know how this customer found us.</p>";
}
?>
</body>
</html>
2. Napisati unutar html-a php skriptu koja će generirati tablicu sa 100 redaka i dva stupca u
kojima će biti ispisani brojevi od 1 do 100 te njihovi kvadrati.
<html>
<body>
<table border="0" cellpadding="3">
<tr>
<td bgcolor="#CCCCCC" align="center">Distance</td>
<td bgcolor="#CCCCCC" align="center">Cost</td>
</tr>
<?php
$distance = 1;
while ($distance <= 100) {
echo "<tr>
<td align=\"right\">".$distance."</td>
<td align=\"right\">".($distance * $distance)."</td>
</tr>\n";
$distance += 1;
}
?>
</table>
</body>
</html>
3. Napisati php skriptu koja će naružbu iz 1. zadatka spremiti u datoteku orders.txt u mapi
orders u korjenskoj mapi web poslužitelja te ispisati poruku o uspješnom upisu u datoteku.
<?php
// create short variable names
$tireqty = $_POST['tireqty'];
$oilqty = $_POST['oilqty'];
$sparkqty = $_POST['sparkqty'];
$address = $_POST['address'];
$DOCUMENT_ROOT = $_SERVER['DOCUMENT_ROOT'];
?>
<html>
<head>
</head>
<body>
<h1>Bob's Auto Parts</h1>
<h2>Order Results</h2>
<?php
flock($fp, LOCK_EX);
if (!$fp) {
echo "<p><strong> Your order could not be processed at this time.
Please try again later.</strong></p></body></html>";
exit;
}
Rezultat:
Tires - 100
Oil - 10
Spark Plugs - 4
5. Napisati php skriptu koja će od devet slika slučajnim odabirom prikazivati na stranici tri od
ponuđenih devet slika.
<?php
$pictures = array('tire.jpg', 'oil.jpg', 'spark_plug.jpg',
'door.jpg', 'steering_wheel.jpg',
'thermostat.jpg', 'wiper_blade.jpg',
'gasket.jpg', 'brake_pad.jpg');
shuffle($pictures);
?>
<html>
<head>
<title>Bob's Auto Parts</title>
</head>
<body>
<?php
for ($i = 0; $i < 3; $i++) {
echo "<td align=\"center\"><img src=\"";
echo $pictures[$i];
echo "\"/></td>";
}
?>
</tr>
</table>
</div>
</body>
</html>
6. Objasniti slijedeći php kod:
<?php
function create_table($data) {
echo "<table border=\"1\">";
reset($data);
$value = current($data);
while ($value) {
echo "<tr><td>".$value."</td></tr>\n";
$value = next($data);
}
echo "</table>";
}
$my_array = array('Line one.','Line two.','Line three.');
create_table($my_array);
?>
U ovom kodu kreira se tablica u kojoj u ovisnosti koliko smo članova niza unijeli, kreirati će se
jednak broj polja tablice jedan ispod drugog sa sadržajem članova tog niza.
7. Napisati dokument page.inc kojui će sadržavati klasu Page koja će moći generirati stranicu sa
naslovom, ključnim riječima, sadržajem i gumbima koji će biti poveznice na druge stranice
koje se mogu generirati iz iste klase. Ne prikazivati gumb od tekuće stranice. Uključiti u klasu i
proizvoljan CSS za prikaz dijelova stranice koristeći posebne metode za zaglavlje, podnožje i
sadržaj stranice.Napisati i dokument home.php gdje će biti prikazan primjer instanciranja
klase Page.
page.inc.
<?php
class Page
{
// class Page's attributes
public $content;
public $title = "TLA Consulting Pty Ltd";
public $keywords = "TLA Consulting, Three Letter Abbreviation,
some of my best friends are search engines";
public $buttons = array("Home" => "home.php",
"Contact" => "contact.php",
"Services" => "services.php",
"Site Map" => "map.php"
);
public function
DisplayButton($width,$name,$url,$active = true)
{
if ($active) {
echo "<td width = \"".$width."%\">
<a href=\"".$url."\">
<img src=\"s-logo.gif\" alt=\"".$name."\" border=\"0\" /></a>
<a href=\"".$url."\"><span class=\"menu\">".$name."</span></a>
</td>";
} else {
echo "<td width=\"".$width."%\">
<img src=\"side-logo.gif\">
<span class=\"menu\">".$name."</span>
</td>";
}
}
home.php:
<?php
require("page.inc");
try
{
throw new myException("A terrible error has occurred", 42);
}
catch (myException $m)
{
echo $m;
}
?>
U ovom kodu imamo klasu myException i funkciju koja će ispisati iznimku koja će dohvatiti
tekst i broj, putanju dokumenta i broj linije u kojoj se naša poruka nalazi.
9. Napisati php skriptu koja će iz html forma uzimati podatke o knjigama: isbn, author, title i
price te ih smještati u bazu podataka bookorama, na serveru localhost, sa korisnikom
bookorama123 i lozinkom books. Baza podataka ima tablicu sa poljima: isbn, author, title i
price.
<html>
<head>
<title>Book-O-Rama Book Entry Results</title>
</head>
<body>
<h1>Book-O-Rama Book Entry Results</h1>
<?php
// create short variable names
$isbn=$_POST['isbn'];
$author=$_POST['author'];
$title=$_POST['title'];
$price=$_POST['price'];
if (!get_magic_quotes_gpc()) {
$isbn = addslashes($isbn);
$author = addslashes($author);
$title = addslashes($title);
$price = doubleval($price);
}
if (mysqli_connect_errno()) {
echo "Error: Could not connect to database. Please try again later.";
exit;
}
if ($result) {
echo $db->affected_rows." book inserted into database.";
} else {
echo "An error has occurred. The item was not added.";
}
$db->close();
?>
</body>
</html>
10. Objasniti slijedeći kod:
<!DOCTYPE html>
<html>
<body>
<script>
var canvas = document.getElementById("myCanvas");
var ctx = canvas.getContext("2d");
ctx.fillStyle = "#FF0000";
ctx.fillRect(0,0,150,75);
</script>
</body>
</html>
U ovom kodu će se nacrtati canvas veličine 200x100, dok u script tagu dohvaćamo element
id-a myCanvas koji će nacrtati pravokutnik crvene boje i veličine 150x75 unutar samog
canvasa.
11. Koristeći HTML5 napisati kod za stranicu na kojoj će se ispisati unutar canvas elementa tekst
Hello World fonta Arial 30px, sa koordinatama teksta 10 ,50 unutar canvas elementa.
<!DOCTYPE html>
<html>
<body>
<script>
var canvas = document.getElementById("myCanvas");
var ctx = canvas.getContext("2d");
ctx.font = "30px Arial";
ctx.fillText("Hello World",10,50);
</script>
</body>
</html>
</body>
</html>
13. Koristeći SVG pokazati primjer crtanja kruga proizvoljne boje i debljine ruba i boje
unutrašnjosti kruga.
<!DOCTYPE html>
<html>
<body>
</body>
</html>