get post from API

This commit is contained in:
Jonas Leder 2021-04-13 10:33:40 +02:00
parent 5a31509318
commit f8e37db21f
4 changed files with 78 additions and 30 deletions

View file

@ -4,6 +4,7 @@ require("./imgPreview");
require("./includeHTML");
require("./ntpGraph");
require("./ntpMenu");
require("./viewPost");
require("./customElements/cookie");
require("./customElements/svgLoader");

40
js/viewPost.js Normal file
View file

@ -0,0 +1,40 @@
if(window.location['pathname'] == "/post.html"){
loadPost();
}
function getParameter(key) {
// Address of the current window
let address = window.location.search
// Returns a URLSearchParams object instance
let parameterList = new URLSearchParams(address)
// Returning the respected value associated
// with the provided key
return parameterList.get(key)
}
async function loadPost() {
let id = getParameter("id");
let header = document.createElement("jl-header");
let footer = document.createElement("jl-footer");
let content = document.createElement("div");
if(id == null) {
content.innerHTML = "<h1>404 - Post not found</h1>";
} else {
let post = await (await fetch("/API/getPost.php?id=" + id)).json();
content.innerHTML = post["content"];
document.title = post["title"] + " - Jonas Leder";
header.setAttribute("data-title", post["title"]);
}
content.id = "content";
document.body.appendChild(header);
document.body.appendChild(content);
document.body.appendChild(footer);
}

24
public/API/getPost.php Normal file
View file

@ -0,0 +1,24 @@
<?php
include "./lib/config.php";
include "./lib/mysql.php";
$id = $conn->real_escape_string($_GET["id"]);
$result = $conn->query("SELECT * FROM posts WHERE id=$id");
if ($result->num_rows > 0) {
$row = $result->fetch_assoc();
} else {
die("Post not found");
}
$title = $row["title"];
$content = $row["content"];
$date = $row["date"];
$id = $row["id"];
header('Content-Type: application/json');
echo json_encode([
"title" => $title,
"content" => $content,
"date" => $date,
"id" => $id
]);

View file

@ -1,32 +1,15 @@
<?php
include "internal/header.php";
include "internal/footer.php";
if(isset($_GET["template"])){
$title = "[TITLE]";
$content = "[CONTENT]";
$date = "DATE NOT SHOWN IN PREVIEW";
$id = "0";
<!DOCTYPE html >
<html lang = "de" >
<html >
<head >
<meta charset = "UTF-8" >
<meta name = "viewport" content = "width=device-width, initial-scale=1.0" >
<title></title >
} else{
$id = $conn->real_escape_string($_GET["id"]);
$result = $conn->query("SELECT * FROM posts WHERE id=$id");
if ($result->num_rows > 0) {
$row = $result->fetch_assoc();
} else {
die("Post not found");
}
$title = $row["title"];
$content = $row["content"];
$date = $row["date"];
$id = $row["id"];
}
getHeader($title, "");
?>
<p>
<?php echo($content); ?>
</p>
<?php
getFooter();
<link href = "/css/style.css" rel = "stylesheet" >
</head >
<body >
<script src="/js/script.js"></script>
</body>
</html>