Вот весь мой (почти весь) скрипт для new_posts.php. Запрос на обновление не работает, но вместо этого он добавляет новый пост в базу данных.
if(isset($_POST['add_post'])) {
$title = mysqli_real_escape_string($db, $_POST['title']);
$author = mysqli_real_escape_string($db, $_POST['author']);
$category = mysqli_real_escape_string($db, $_POST['category']);
$body = mysqli_real_escape_string($db, $_POST['body']);
$keywords = mysqli_real_escape_string($db, $_POST['keywords']);
if(isset($_POST['id'])){
$id = mysqli_real_escape_string($db, $_GET['id']);
$query = "UPDATE posts SET title='$title',author='$author',category='$category',body='$body',keywords='$keywords' WHERE id='$id'";
}else{
$d = getDate();
$date = "$d[month] $d[mday], $d[year]";
$query = "INSERT INTO posts (title,author,category,body,keywords,date) VALUES('$title','$author','$category','$body','$keywords','$date')";
}
$db->query($query);
}
if(isset($_GET['post'])) {
$id = mysqli_real_escape_string($db, $_GET['post']);
$p = $db->query("SELECT * FROM posts WHERE id = '$id'");
$p = $p->fetch_assoc();
}
$cats = $db->query("SELECT * FROM categories");
?>
Это часть раздела HTML.
<h1 class="page-header">Add New Post</h1>
<div class="table-responsive">
<form method="post">
<?php if(isset($p)) {
echo "<input type='hidden' value='$id' name='$id'/>";
} ?>