55ok

Mini

Direktori : /home/u307599615/domains/costumeonrent.in/public_html/admin/
Upload File :
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>

Zerion Mini 1.0