From 7964a8ba3dd041511c483b7f220b6d14d71ef69e Mon Sep 17 00:00:00 2001 From: Ian C Date: Fri, 22 Jun 2018 12:50:04 +0000 Subject: Initial attempt at data interface. --- www/add.php | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ www/common.php | 28 ++++++++++++++++++++++++++++ www/config.php | 35 +++++++++++++++++++++++++++++++++++ www/delete.php | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ www/edit.php | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ www/get.php | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 6 files changed, 281 insertions(+) create mode 100644 www/add.php create mode 100644 www/common.php create mode 100644 www/config.php create mode 100644 www/delete.php create mode 100644 www/edit.php create mode 100644 www/get.php diff --git a/www/add.php b/www/add.php new file mode 100644 index 0000000..d70fca9 --- /dev/null +++ b/www/add.php @@ -0,0 +1,54 @@ +. +*/ + +require 'config.php'; +require 'common.php'; + +$result = array(); + +try +{ + $db = ConnectDB(); + + $description = $_REQUEST["description"]; + $username = $_REQUEST["username"]; + $password = $_REQUEST["password"]; + + $cmd = $db->prepare("INSERT INTO pm_store " . + "(description, username, password) values " . + "(:description, :username, :password)"); + $cmd->bindParam(":description", $description); + $cmd->bindParam(":username", $username); + $cmd->bindParam(":password", $password); + $cmd->execute(); + + $result["id"] = $db->lastInsertId(); + + $db = null; +} +catch(PDOException $e) +{ + result["error"] = "DB error:" . $e->getMessage(); +} + +header("Content-type:application/json"); +echo json_encode($result); + +?> diff --git a/www/common.php b/www/common.php new file mode 100644 index 0000000..52971eb --- /dev/null +++ b/www/common.php @@ -0,0 +1,28 @@ +. +*/ + +function ConnectDB() +{ + $pdo = new PDO("mysql:host=localhost;dbname={$config["dbname"]}", + $config["dbuser"], $config["dbpassword"]); + $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); + + return $pdo; +} +?> diff --git a/www/config.php b/www/config.php new file mode 100644 index 0000000..de3c67c --- /dev/null +++ b/www/config.php @@ -0,0 +1,35 @@ +. +*/ + +$config = array(); + +// The name of the database to use +// +$config["dbname"] = "passman"; + +// The username of the database user to use +// +$config["dbuser"] = "passman"; + +// The password of the database user to use +// +$config["dbpassword"] = "PassMan123!"; + +?> diff --git a/www/delete.php b/www/delete.php new file mode 100644 index 0000000..7d97c0c --- /dev/null +++ b/www/delete.php @@ -0,0 +1,54 @@ +. +*/ + +require 'config.php'; +require 'common.php'; + +$result = array(); + +try +{ + $db = ConnectDB(); + + $id = filter_var($_REQUEST["id"], FILTER_VALIDATE_INT); + + if ($id !== FALSE) + { + $cmd = $db->prepare("DELETE FROM pm_store WHERE id = :id"); + $cmd->bindParam(":id", $id); + $cmd->execute(); + $result["status"] = true; + } + else + { + $result["error"] = "Invalid inputs"; + } + + $db = null; +} +catch(PDOException $e) +{ + $result["error"] = "DB error:" . $e->getMessage(); +} + +header("Content-type:application/json"); +echo json_encode($result); + +?> diff --git a/www/edit.php b/www/edit.php new file mode 100644 index 0000000..1c61148 --- /dev/null +++ b/www/edit.php @@ -0,0 +1,57 @@ +. +*/ + +require 'config.php'; +require 'common.php'; + +$result = array(); + +try +{ + $db = ConnectDB(); + + $id = $_REQUEST["id"]; + $description = $_REQUEST["description"]; + $username = $_REQUEST["username"]; + $password = $_REQUEST["password"]; + + $cmd = $db->prepare("UPDATE pm_store " . + "set description=:description, " . + "username=:username, " . + "password=:password) where id = :id"); + $cmd->bindParam(":id", $id); + $cmd->bindParam(":description", $description); + $cmd->bindParam(":username", $username); + $cmd->bindParam(":password", $password); + $cmd->execute(); + + $result["status"] = true; + + $db = null; +} +catch(PDOException $e) +{ + result["error"] = "DB error:" . $e->getMessage(); +} + +header("Content-type:application/json"); +echo json_encode($result); + +?> diff --git a/www/get.php b/www/get.php new file mode 100644 index 0000000..268bf5b --- /dev/null +++ b/www/get.php @@ -0,0 +1,53 @@ +. +*/ + +require 'config.php'; +require 'common.php'; + +$result = array(); + +try +{ + $db = ConnectDB(); + + $index = 0; + + foreach ($db->query("SELECT * FROM pm_store") as $row) + { + $data = array(); + $data["id"] = $row["id"]; + $data["description"] = $row["description"]; + $data["username"] = $row["username"]; + $data["password"] = $row["password"]; + + $result[$index++] = $data; + } + + $db = null; +} +catch(PDOException $e) +{ + $result["error"] = "DB error:" . $e->getMessage(); +} + +header("Content-type:application/json"); +echo json_encode($result); + +?> -- cgit v1.2.3