82 lines
2.4 KiB
PHP
82 lines
2.4 KiB
PHP
|
<?php
|
||
|
|
||
|
// ------------------- //
|
||
|
// --- Idiorm Demo --- //
|
||
|
// ------------------- //
|
||
|
|
||
|
// Note: This is just about the simplest database-driven webapp it's possible to create
|
||
|
// and is designed only for the purpose of demonstrating how Idiorm works.
|
||
|
|
||
|
// In case it's not obvious: this is not the correct way to build web applications!
|
||
|
|
||
|
// Require the idiorm file
|
||
|
require_once("idiorm.php");
|
||
|
|
||
|
// Connect to the demo database file
|
||
|
ORM::configure('sqlite:./demo.sqlite');
|
||
|
|
||
|
// This grabs the raw database connection from the ORM
|
||
|
// class and creates the table if it doesn't already exist.
|
||
|
// Wouldn't normally be needed if the table is already there.
|
||
|
$db = ORM::get_db();
|
||
|
$db->exec("
|
||
|
CREATE TABLE IF NOT EXISTS contact (
|
||
|
id INTEGER PRIMARY KEY,
|
||
|
name TEXT,
|
||
|
email TEXT
|
||
|
);"
|
||
|
);
|
||
|
|
||
|
// Handle POST submission
|
||
|
if (!empty($_POST)) {
|
||
|
|
||
|
// Create a new contact object
|
||
|
$contact = ORM::for_table('contact')->create();
|
||
|
|
||
|
// SHOULD BE MORE ERROR CHECKING HERE!
|
||
|
|
||
|
// Set the properties of the object
|
||
|
$contact->name = $_POST['name'];
|
||
|
$contact->email = $_POST['email'];
|
||
|
|
||
|
// Save the object to the database
|
||
|
$contact->save();
|
||
|
|
||
|
// Redirect to self.
|
||
|
header('Location: ' . basename(__FILE__));
|
||
|
exit;
|
||
|
}
|
||
|
|
||
|
// Get a list of all contacts from the database
|
||
|
$count = ORM::for_table('contact')->count();
|
||
|
$contact_list = ORM::for_table('contact')->find_many();
|
||
|
?>
|
||
|
|
||
|
<html>
|
||
|
<head>
|
||
|
<title>Idiorm Demo</title>
|
||
|
</head>
|
||
|
|
||
|
<body>
|
||
|
|
||
|
<h1>Idiorm Demo</h1>
|
||
|
|
||
|
<h2>Contact List (<?php echo $count; ?> contacts)</h2>
|
||
|
<ul>
|
||
|
<?php foreach ($contact_list as $contact): ?>
|
||
|
<li>
|
||
|
<strong><?php echo $contact->name ?></strong>
|
||
|
<a href="mailto:<?php echo $contact->email; ?>"><?php echo $contact->email; ?></a>
|
||
|
</li>
|
||
|
<?php endforeach; ?>
|
||
|
</ul>
|
||
|
|
||
|
<form method="post" action="">
|
||
|
<h2>Add Contact</h2>
|
||
|
<p><label for="name">Name:</label> <input type="text" name="name" /></p>
|
||
|
<p><label for="email">Email:</label> <input type="email" name="email" /></p>
|
||
|
<input type="submit" value="Create" />
|
||
|
</form>
|
||
|
</body>
|
||
|
</html>
|