55ok
| Direktori : /home/u307599615/domains/costumeonrent.in/public_html/admin/ |
| Current File : /home/u307599615/domains/costumeonrent.in/public_html/admin/addblog.php |
<?php
include("connection.php");
ini_set('display_errors', '1');
ini_set('display_startup_errors', '1');
error_reporting(E_ALL);
// Function to create URL-friendly slugs
function generateSlug($string)
{
$slug = preg_replace('/[^A-Za-z0-9-]+/', '-', strtolower($string));
return trim($slug, '-');
}
if (isset($_POST['submit'])) {
if (isset($_FILES['Image']) && $_FILES['Image']['error'] === 0) {
// Generate unique image name using timestamp
$originalName = $_FILES['Image']['name'];
$img_tmp = $_FILES['Image']['tmp_name'];
$ext = pathinfo($originalName, PATHINFO_EXTENSION);
$Image = 'blog_' . time() . '.' . $ext;
$img_path = "./assets/images/blog/" . $Image;
// Escape user inputs
$title = mysqli_real_escape_string($con, $_POST['title']);
$inputSlug = mysqli_real_escape_string($con, $_POST['slug']);
$slug = empty($inputSlug) ? generateSlug($title) : generateSlug($inputSlug);
// Ensure slug is unique
$checkSlug = mysqli_query($con, "SELECT COUNT(*) as total FROM blog WHERE slug = '$slug'");
$row = mysqli_fetch_assoc($checkSlug);
if ($row['total'] > 0) {
$slug .= '-' . time();
}
$description = mysqli_real_escape_string($con, $_POST['description']);
$meta_title = mysqli_real_escape_string($con, $_POST['meta_title']);
$short_des = mysqli_real_escape_string($con, $_POST['short_des']);
$meta_des = mysqli_real_escape_string($con, $_POST['meta_des']);
$meta_key = mysqli_real_escape_string($con, $_POST['meta_key']);
// Insert query
$sql = "INSERT INTO `blog` (`Image`, `title`, `slug`, `description`, `meta_title`, `short_des`, `meta_des`, `meta_key`)
VALUES ('$Image', '$title', '$slug', '$description', '$meta_title', '$short_des', '$meta_des', '$meta_key')";
$query = mysqli_query($con, $sql);
if ($query) {
if (move_uploaded_file($img_tmp, $img_path)) {
header("Location: viewblog.php");
exit();
} else {
echo "❌ Failed to move uploaded image.";
}
} else {
echo "❌ Database Error: " . mysqli_error($con);
}
} else {
echo "❌ No image uploaded or upload error.";
}
}
?>
<?php
include("header.php")
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>ADD blog</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta content="Premium Multipurpose Admin & Dashboard Template" name="description" />
<meta content="Themesbrand" name="author" />
<!-- App favicon -->
<link rel="shortcut icon" href="./assets/logo/fav.png" />
<!-- Plugins css -->
<link href="assets/libs/dropzone/dropzone.css" rel="stylesheet" type="text/css" />
<link rel="stylesheet" type="text/css" href="https://use.fontawesome.com/releases/v5.8.1/css/all.css">
<!-- Bootstrap Css -->
<link href="assets/css/bootstrap.min.css" id="bootstrap-style" rel="stylesheet" type="text/css" />
<!-- Icons Css -->
<link href="assets/css/icons.min.css" rel="stylesheet" type="text/css" />
<!-- App Css-->
<link href="assets/css/app.min.css" id="app-style" rel="stylesheet" type="text/css" />
<!-- App js -->
<!-- <script src="assets/js/plugin.js"></script> -->
<style>
.form .input {
width: 100%;
background: white;
border: none;
padding: 15px 20px;
border-radius: 20px;
margin-bottom: 9px;
margin-top: 15px;
box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
border-inline: 2px solid transparent;
}
input[name='Image'] {
display: none;
}
div#upload {
cursor: pointer;
}
::-webkit-file-upload-button {
/* width: 100%;
height: 100%; */
display: none;
/* color: transparent; */
}
/*
.form .input::-moz-placeholder {
color: rgb(170, 170, 170);
}
.form .input::placeholder {
color: rgb(170, 170, 170);
}
.form .input:focus {
outline: none;
border-inline: 2px solid #12b1d1;
} */
.filepath {
display: none;
}
img[alt="img"] {
width: clamp(50px, 15%, 100px);
aspect-ratio: 1/0.70;
}
</style>
</head>
<body data-sidebar="dark">
<!-- <body data-layout="horizontal" data-topbar="dark"> -->
<!-- Begin page -->
<div id="layout-wrapper">
<div class="w-80 ">
<div class="page-content" style="width: 80%;margin-left: 260px;">
<div class="container">
<!-- start page title -->
<div class="row">
<div class="col-12">
<div class="page-title-box d-sm-flex align-items-center justify-content-between">
<h4 class="mb-sm-0 font-size-18">ADD blog </h4>
</div>
</div>
</div>
<!-- end page title -->
<div class="row">
<div class="col-12">
<div class="card">
<div class="card-body">
<div>
<form class="form" action="" method="POST" enctype="multipart/form-data">
<div class="dropzone">
<div class="fallback">
<input placeholder="Image" name="Image" type="file" required="" />
</div>
<div class="dz-message needsclick" id="upload">
<div class="mb-3">
<i class="display-4 text-muted bx bxs-cloud-upload"></i>
</div>
<h4>Drop files here or click to upload.</h4>
</div>
</div>
<ul class="list-unstyled mb-0" id="dropzone-preview">
</ul>
<div class="filepath">
<img src="" alt="img">
<span id="filename"></span>
</div>
<br>
<div class="row">
<div class="col-lg-6">
<label for="">Title</label>
<input type="text" class="form-control" id="title" name="title" placeholder="Enter Your title" onkeyup="generateSlug()" />
</div>
<div class="col-lg-6">
<label for="">Slug</label>
<input type="text" class="form-control" name="slug" id="slug" placeholder="Enter Your slug" />
</div>
</div>
<br>
<div class="row">
<div class="col-lg-6">
<label for="">Meta Title</label>
<input type="text" class="form-control" name="meta_title" placeholder="Enter Your meta title" />
</div>
<div class="col-lg-6">
<label for="">Meta Keyword</label>
<input type="text" class="form-control" name="meta_key" placeholder="Enter Your meta keyword" />
</div>
</div>
<br>
<label for="">Description</label>
<textarea name="description" id="Experience"></textarea>
<br>
<label for="">Short Description</label>
<textarea name="short_des" id="Experience1"></textarea>
<br>
<label for="">Meta Description</label>
<textarea name="meta_des" id="Experience2"></textarea>
<div class="text-center mt-4">
<button type="submit" name="submit" class="btn btn-primary" value="submit">
submit
</button>
<a href="viewblog.php"><button type="button" class="btn btn-danger">
View Data
</button></a>
</div>
</form>
</div>
</div>
</div>
</div>
<!-- end col -->
</div>
<!-- end row -->
</div>
<!-- container-fluid -->
</div>
<!-- End Page-content -->
</div>
<!-- end main content-->
</div>
<!-- END layout-wrapper -->
<!-- JAVASCRIPT -->
<script src="assets/libs/jquery/jquery.min.js"></script>
<script src="assets/libs/bootstrap/js/bootstrap.bundle.min.js"></script>
<script src="assets/libs/metismenu/metisMenu.min.js"></script>
<script src="assets/libs/simplebar/simplebar.min.js"></script>
<script src="assets/libs/node-waves/waves.min.js"></script>
<!-- Plugins js -->
<script src="assets/libs/dropzone/dropzone-min.js"></script>
<!-- Form file upload init js -->
<script src="assets/js/pages/form-file-upload.init.js"></script>
<script src="assets/js/app.js"></script>
<script src="./ck editor/ckeditor.js"></script>
<script>
['Experience', 'Experience1', 'Experience2', 'Experience3'].forEach(function(id) {
CKEDITOR.replace(id);
});
</script>
<script>
var img = document.querySelector("input[name='Image']");
document.getElementById('upload').onclick = () => {
img.click();
}
img.oninput = () => {
//show path element
document.getElementById('filename').innerHTML = img.value.replace(/(C:\\fakepath\\)/, "");
// alert(img.value);
document.querySelector(".filepath").style.display = 'block';
// image src
let file = img.files[0];
let fileSrc = URL.createObjectURL(file);
console.log(fileSrc)
document.querySelector("img[alt='img']").src = fileSrc;
}
</script>
<!-- slug -->
<script>
function generateSlug() {
let title = document.getElementById("title").value;
let slug = title.toLowerCase()
.replace(/[^a-z0-9\s-]/g, '') // remove invalid chars
.replace(/\s+/g, '-') // replace spaces with -
.replace(/-+/g, '-') // collapse dashes
.trim();
document.getElementById("slug").value = slug;
}
</script>
</body>
</html>