diff --git a/.gitignore b/.gitignore
deleted file mode 100644
index 6a141ca..0000000
--- a/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-# Database
-*.db
diff --git a/README.md b/README.md
old mode 100644
new mode 100755
diff --git a/form.php b/form.php
old mode 100644
new mode 100755
index b3d9bbc..1938733
--- a/form.php
+++ b/form.php
@@ -1 +1,21 @@
+
+
Guestbook
+
+
+
');
- foreach($msg as $key => $value) {
- echo('');
- echo("$key: $value");
- echo('
');
- }
+ $usr = userFromMessage($db, $msg['id_msg']);
+ $username = $usr ? $usr['username'] : 'Anonymous';
+
+ echo($username);
+ echo('
');
+ echo('---');
+ echo('
');
+ echo($msg['content']);
+ echo('
');
echo('');
echo('
');
}
+
?>
+
+
diff --git a/persistence.php b/persistence.php
old mode 100644
new mode 100755
index 8eda79b..7858a81
--- a/persistence.php
+++ b/persistence.php
@@ -63,7 +63,7 @@ function getMessages(SQLite3 $db, array $filter = [], int $limit = 25) {
return $ret;
}
-function storeMessage(SQLite3 $db, string $content, ?int $user_id = null) {
+function storeMessage(SQLite3 $db, string $content, ?int $user_id = null) : bool {
$query = 'INSERT INTO message(id_user, content, date)
VALUES (:id_user, :content, :date)';
@@ -73,6 +73,18 @@ function storeMessage(SQLite3 $db, string $content, ?int $user_id = null) {
$statement->bindParam(':content', $content);
$statement->bindParam(':date', $date);
$statement->execute();
+ return ($db->changes() > 0);
+}
+
+function storeUser(SQLite3 $db, string $username, string $password) : bool {
+ $query = 'INSERT INTO user(username, password)
+ VALUES (:username, :password)';
+
+ $statement = $db->prepare($query);
+ $statement->bindParam(':username', $username);
+ $statement->bindParam(':password', $password);
+ $statement->execute();
+ return ($db->changes() > 0);
}
function deleteMessage(SQLite3 $db, int $message_id) : int {
@@ -82,9 +94,25 @@ function deleteMessage(SQLite3 $db, int $message_id) : int {
$statement = $db->prepare($query);
$statement->bindParam(':id_msg', $message_id);
$result = $statement->execute();
- if ($result === false) {
+ if($result === false) {
return -1;
}
// Number of changed rows
return $db->changes();
}
+
+function userFromMessage(SQLite3 $db, int $message_id) {
+ $query = 'SELECT user.id_user, user.username
+ FROM user, message
+ WHERE message.id_user = user.id_user
+ AND message.id_msg = :id_msg';
+
+ $statement = $db->prepare($query);
+ $statement->bindParam(':id_msg', $message_id);
+ $result = $statement->execute();
+
+
+ $array = $result->fetchArray();
+ if(!$array) return null;
+ return ['id' => $array['id_user'], 'username' => $array['username']];
+}