I am making a edit blog option for a website. I am done with the code. Whenever i click the edit button it redirects to the form action file and shows a blank page. Here are my codes.
edit-blog.php
<?php
include_once('header.php');
include_once('sidebar.php');
include_once('controller/BlogController.php');
$_SESSION['ap-old']['title'] = $_POST['title'];
$_SESSION['ap-old']['short_description'] = $_POST['short_description'];
$_SESSION['ap-old']['description'] = $_POST['description'];
$title = (!empty($_SESSION['ap-old']['title'])) ? $_SESSION['ap-old']['title'] : '';
$short_description = (!empty($_SESSION['ap-old']['short_description'])) ? $_SESSION['ap-old']['short_description'] : '';
$description = (!empty($_SESSION['ap-old']['description'])) ? $_SESSION['ap-old']['description'] : '';
?>
<style type="text/css">
.ff_fileupload_start_upload, #additional-image-html {
display: none !important;
}
label {
font-size: 13px;
color : #6a994e;
}
</style>
<!--app-content open-->
<div class="app-content main-content mt-0">
<div class="side-app">
<!-- CONTAINER -->
<div class="main-container container-fluid">
<!-- PAGE-HEADER -->
<div class="page-header">
<div>
<h1 class="page-title">Edit Blog </h1>
</div>
<div class="ms-auto pageheader-btn">
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="javascript:void(0);">Home</a></li>
<li class="breadcrumb-item active" aria-current="page">Edit Blog</li>
</ol>
</div>
</div>
<!-- PAGE-HEADER END -->
<?php
if(isset($_GET['id']))
{
$post_id = $_GET['id'];
$post_query = "SELECT * FROM blogs WHERE id = '$post_id' LIMIT 1";
$post_query_res = mysqli_query($con ,$post_query);
if(mysqli_num_rows($post_query_res)>0){
$post_row = mysqli_fetch_array($post_query_res);
?>
<form action="requestHandler.php" method="POST" enctype="multipart/form-data" id="edit-blog-form">
<input type="hidden" name="action" value="edit-blog">
<input type="hidden" name="blog_id" value="<?=$post_row['id']?>">
<div class="row">
<div class="col-md-12">
<div class="card">
<div class="card-header border-bottom">
<h3 class="card-title">Blog Details</h3>
</div>
<div class="card-body row">
<div class="col-12" style="margin: auto;">
<div class="form-group">
<label for="thumbnail-img">Blog Name : </label>
<input name="title" type="text" class="form-control" id="title" value="<?= $post_row['title']?>">
</div>
<div class="form-group">
<label for="thumbnail-img">Thumbnail Image : </label>
<input required name="thumbnail" id="thumbnail" type="file" class="dropify" data-height="200" />
</div>
<div class="form-group">
<label for="thumbnail-img">Blog Short Content : </label>
<textarea name="short_description" type="text" class="form-control" id="short_description"><?= $post_row['short_description']?></textarea>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="card">
<div class="card-header border-bottom">
<h3 class="card-title">Blog Content</h3>
</div>
<div class="card-body">
<textarea id="description" class="content" name="description"><?= $post_row['description']?></textarea>
</div>
<div class="form-group text-center">
<button type="submit" name="app-blog-btn" id="app-blog-btn" class="btn btn-success btn-md">Edit Blog</button>
</div>
</div>
</div>
</div>
</div>
<?php
}
}
?>
</div>
</div>
<!-- CONTAINER END -->
</div>
<!-- FOOTER -->
<?php include_once('footer.php'); ?>
<!-- FOOTER END -->
</div>
<?php include_once('scripts.php'); ?>
<script src="assets/plugins/wysiwyag/jquery.richtext.js"></script>
<script src="assets/plugins/wysiwyag/wysiwyag.js"></script>
<script src="assets/plugins/quill/quill.min.js"></script>
<script src="assets/js/form-editor2.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#app-blog-btn").click(function(){
const fields = [
['title', ['required','min-length:5','max-length:255']],
['description', ['required','min-length:10']]
];
const status = validateData(fields);
if(status !== true){
$(".alert-msg").html(status);
$(".alert-danger").css("display","block");
$('#app-blog-btn').prop('disabled', false);
} else {
$("#edit-blog-form").submit();
};
});
});
</script>
</body>
</html>
requestHandler.php
<?php
// ini_set('display_errors', 1);
// ini_set('display_startup_errors', 1);
// error_reporting(E_ALL);
if(!empty($_GET['action'])){
if(in_array($_GET['action'], ['get-cart-items'])){
include_once("controller/CartController.php");
$action = $_GET['action'];
if($action == 'get-cart-items'){
echo getCartItems();
}
}
}
if(empty($_POST['action'])){
return null;
}
if(in_array($_POST['action'], ['add-blog', 'toggle-blog', 'add-product', 'edit-product','edit-blog', 'update-order-status', 'update-delivery-status'])){
$action = $_POST['action'];
if($action == 'add-product'){
include_once("controller/ProductController.php");
return addProduct($_POST, $_FILES);
} else if($action == 'add-blog'){
include_once("controller/BlogController.php");
return addBlog($_POST, $_FILES);
} else if($action == 'toggle-blog'){
include_once("controller/BlogController.php");
echo toggleBlog($_POST);exit;
} else if($action == 'edit-blog'){
include_once("controller/BlogController.php");
return editBlog($_POST, $_FILES);
} else if($action == 'edit-product'){
include_once("controller/ProductController.php");
return editProduct($_POST, $_FILES);
} else if($action == 'update-order-status'){
include_once("controller/AdminController.php");
echo updateOrderStatus($_POST);
} else if($action == 'update-delivery-status'){
include_once("controller/AdminController.php");
echo updateDeliveryStatus($_POST);
}
}
if(in_array($_POST['action'], ['add-to-cart', 'remove-item-from-cart'])){
include_once("controller/CartController.php");
$action = $_POST['action'];
if($action == 'add-to-cart'){
echo addToCart($_POST);
} else if($action == 'remove-item-from-cart'){
echo removeItemFromCart($_POST);
}
}
if(in_array($_POST['action'], ['place-order'])){
include_once("controller/CheckoutController.php");
$action = $_POST['action'];
if($action == 'place-order'){
echo placeOrder($_POST);
}
}
//Auth Modules
if(in_array($_POST['action'], ['add-user','get_ref_name','signin','signup','forgot'])){
include_once("controller/AuthController.php");
$action = $_POST['action'];
if($action == 'add-user'){
echo addUser($_POST); exit;
} else if($action == 'get_ref_name'){
echo getRefName($_POST);
} else if($action == 'signin'){
echo login($_POST); exit;
} else if($action == 'signup'){
echo signup($_POST); exit;
} else if($action == 'forgot'){
return forgot($_POST);
}
}
?>
BlogController.php
<?php
include_once("conf.php");
include_once("modals/blogModal.php");
$bm = new blogModal($db);
function getAllBlogs(){
global $bm;
return $bm->getAllBlogs();
}
function toggleBlog($data){
global $bm;
return $bm->toggleBlog($data['blog_id']);
}
function getBlogId($id){
global $pm;
return $pm->getBlogId($id);
}
function addBlog($data, $files){
global $bm;
if(!is_admin()) exit;
$_SESSION['ap-old']['name'] = $data['blog-name'];
$_SESSION['ap-old']['editor'] = $data['editor-style01'];
if(empty($files) || empty($files['thumbnail-img']) || empty($files['thumbnail-img']['size']) || $files['thumbnail-img']['size'] < 1){
appRedirect("error","add-product","Invalid Thumbnail File");exit;
}
$image_name = uploadImage('blog-images', $files, 'thumbnail-img');
if($image_name == 0){
appRedirect("error","add-blog","Invalid File!!");
exit;
}
if($image_name == -1){
appRedirect("error","add-blog","Invalid Size or File Size is too large!!");
exit;
}
$data['editor-style01'] = dataReady($data['editor-style01']);
$blog_id = $bm->addBlog($data, $image_name);
if($blog_id > 0){
appRedirect("success","list-blogs","blog Added Successfully");exit;
} else {
appRedirect("error","add-blog","Unable to add this blog!!");exit;
}
}
function editBlog($data, $files){
global $pm;
if(!is_admin()) exit;
$_SESSION['ap-old']['title'] = $_POST['title'];
$_SESSION['ap-old']['short_description'] = $_POST['short_description'];
$_SESSION['ap-old']['description'] = $_POST['description'];
$image_name = '';
if(!empty($files) && !empty($files['thumbnail']) && !empty($files['thumbnail']['size']) && $files['thumbnail']['size'] > 0){
$image_name = uploadImage('blog-images', $files, 'thumbnail');
}
$pm->editBlog($data, $image_name);
appRedirect("success","list-blogs","Blog Edited Successfully");
}
?>
blogModal.php
<?php
include_once('Modal.php');
class blogModal extends Modal{
function __construct($db){
$this->db = $db;
$this->datetime = date("Y-m-d H:i:s");
$this->date = date("Y-m-d");
}
public function addBlog($data, $main_image){
$insert_data = array();
$insert_data['title'] = $data['blog-name'];
$insert_data['description'] = $data['editor-style01'];
$insert_data['short_description'] = $data['short-content'];
$insert_data['image'] = $main_image;
$insert_data['created_at'] = date("Y-m-d H:i:s");
$insert_data['status'] = '1';
return $this->db->insert("blogs", $insert_data);
}
public function toggleBlog($id){
$qry = $this->db->query("SELECT status FROM blogs WHERE id=$id LIMIT 1");
if($qry->count > 0){
if($qry->row->status == '1')
$this->db->query("UPDATE blogs SET status='0' WHERE id=$id LIMIT 1");
else
$this->db->query("UPDATE blogs SET status='1' WHERE id=$id LIMIT 1");
}
return true;
}
public function getBlogId($id){
$qry = $this->db->query("SELECT * FROM blogs WHERE id = '$id'");
if($qry->count > 0){
return $qry->row;
} else {
return false;
}
}
public function editBlog($data, $main_image){
$update_data = array();
$update_data['title'] = $data['title'];
$update_data['short_description'] = $data['short_description'];
$update_data['description'] = $data['description'];
if($main_image)
$update_data['thumbnail'] = $main_image;
$where = array();
$where['id'] = $data['id'];
// pre($update_data, 0);
// pre($where);
return $this->db->upDate("blogs", $update_data, $where);
}
public function getAllBlogs(){
$qry = $this->db->query("SELECT id, title, image, created_at, status, short_description FROM blogs ORDER BY id DESC");
if($qry->count > 0){
return $qry->rows;
} else {
return false;
}
}
}