The following files exists in this folder. Click to view.
add.php216 lines UTF-8 Unix (LF) 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216
<?php
// =============================================================================
//
// add.php
//
// Description: Adds new cars and persons from forms
//
// Author: Johan Hällgren
//
// -----------------------------------------------------------------------------
//
// Requires and includes
//
require_once('dbConn.php');
require_once('common.php');
// -----------------------------------------------------------------------------
//
// Take care of GET-variables
//
$val = (isset($_GET['add']) && $_GET['add']!="") ? $_GET['add'] : "";
// -----------------------------------------------------------------------------
//
// Inserts to the database if any form, car or person, is submitted
//
if($val=="car"){
# Skapa SQL-sats för att lägga in car.
$sql = "INSERT INTO car VALUES (NULL, :personId, :regNr, :make, :model, :year, :price);";
# Förbered SQL-satsen till ett statement
$stmt = $pdo->prepare($sql);
# Skapa en array med parametrar som skall bindas till statement
# Om personId == 0, sätts denna till NULL, annars personId
$prm = array(
'personId' => $_POST['personId']==0 ? NULL : $_POST['personId'],
'regNr' => $_POST['regNr'],
'make' => $_POST['make'],
'model' => $_POST['model'],
'year' => $_POST['year'],
'price' => $_POST['price']
);
# Kör mot databasen
$stmt->execute($prm);
# Om lastInsertId == 0 så har något gått fel.
if($pdo->lastInsertId()==0){
$mess = "Ingen bil lades till.";
} else {
$mess = "En bil är tillagd med id: ".$pdo->lastInsertId().".";
}
} else if ($val=="person") {
# Skapa SQL-sats för att lägga in person.
$sql = "INSERT INTO person VALUES (NULL, :firstName, :familyName, :birthDate, :hasLicence);";
# Förbered SQL-satsen till ett statement
$stmt = $pdo->prepare($sql);
# Skapa en array med parametrar som skall bindas till statement
$prm = array(
'firstName' => $_POST['firstName'],
'familyName' => $_POST['familyName'],
'birthDate' => $_POST['birthDate'],
'hasLicence' => isset($_POST['hasLicence']) ? 1 : 0
);
# Kör mot databasen
$stmt->execute($prm);
$mess = "En person är tillagd med id: ".$pdo->lastInsertId().".";
}
// -----------------------------------------------------------------------------
//
// Create selectionbox for owner in car form
//
$owner = <<<EOD
<select for=personId name=personId>
<option value='0' selected>No owner</option>
EOD;
$sql = "SELECT * FROM person;";
$stmt = $pdo->prepare($sql);
$stmt->execute();
$res = $stmt->fetchAll(PDO::FETCH_ASSOC);
foreach ($res as $row) {
$owner .= "\n <option value='{$row['personId']}'>{$row['firstName']} {$row['familyName']} </option>";
}
$owner .= "</select>";
// -----------------------------------------------------------------------------
//
// Create form for car
//
$carForm = <<<EOD
<form action="?add=car" method="POST">
<fieldset>
<ol>
<li>
<label for=personId>Owner</label>
{$owner}
</li>
<li>
<label for=regNr>RegNr</label>
<input name=regNr type=text placeholder="registreringsnummer" required autofocus>
</li>
<li>
<label for=make>Make</label>
<input name=make type=text placeholder="Bilmärke" required>
</li>
<li>
<label for=model>Model</label>
<input name=model type=text placeholder="Modell" required>
</li>
<li>
<label for=year>Year</label>
<input name=year type=text placeholder="Åsmodell" required>
</li>
<li>
<label for=price>Price</label>
<input name=price type=text placeholder="Pris" required>
</li>
</ol>
<button type=submit>Add car</button>
</fieldset>
</form>
EOD;
// -----------------------------------------------------------------------------
//
// Create form for person
//
$personForm = <<<EOD
<form action="?add=person" method="POST">
<fieldset>
<ol>
<li>
<label for=firstName>firstName</label>
<input name=firstName type=text placeholder="firstName" required autofocus>
</li>
<li>
<label for=familyName>familyName</label>
<input name=familyName type=text placeholder="familyName" required>
</li>
<li>
<label for=birthDate>birthDate</label>
<input name=birthDate type=date placeholder="birthDate" required>
</li>
<li>
<label for=hasLicence>hasLicence</label>
<input name=hasLicence type=checkbox>
</li>
</ol>
<button type=submit>Add person</button>
</fieldset>
</form>
EOD;
# mess, om mess finns skall det skrivas ut.
$mess = isset($mess) ? "<p class=\"mess\">".$mess."</p>" : "";
// -----------------------------------------------------------------------------
//
// Sätt aside och content
//
$aside2 = "";
$content = $aside2 == "" ? "content_full" : "content";
// ----------------------------------------------------------------------
//
// Content
//
$html = <<< EOD
<article class="{$content}">
<h1>Lägg till post</h1>
{$mess}
<section class="box">
<h2>Car</h2>
{$carForm}
</section>
<section class="box">
<h2>Person</h2>
{$personForm}
</section>
</article>
EOD;
// -----------------------------------------------------------------------------
//
// Create the html-page
//
$title = "Car";
$charset = "UTF-8";
$style = "stilmall.css";
// Här sköts sidbygget och utskriften.
include_once("page.php");
?>