Cara membuat halaman posting dengan php

<?php

require'header.php';

$error   ='';

// default value bila tidak masuk dalam mode edit

$title   ='';

$posting='';

$button  = 'Publish';

$cats    =array();

$update  ='<input type="hidden" name="post-add" value="true"/>';

// Aksi Simpan ke database

if (isset($_POST['post-add'])){

    /**

     * $db adalah koneksi database. lihat admin-loader.php

     */

    $posting= $db->escape_string($_POST['post']);

    $author  =$db->escape_string($_SESSION['user_ID']);

    $title   =$db->escape_string($_POST['title']);

    $category=$_POST['category'];

    $excerpt='';

    // check apakah menggunakan readmore atau tidak

    $pagebreak=$db->escape_string('<div style="page-break-after:always">');

    if(strpos($posting, $pagebreak)!==false){

        // ambil kalimat sebelum page-break

        $post    =explode($pagebreak, $posting);

        $excerpt=$post[0];

    }else{

        // ambil 50 kata awal paragraf

        $post    = strip_tags($posting);

        $excerpt=implode(' ',array_slice(explode(' ',$post),0, 50));

    }

    // SQL Command To Insert

    $sql="INSERT INTO posting

                    (iduser, title, content, excerpt)

            VALUES

                    ('$author', '$title', '$posting', '$excerpt')";

    // Eksekusi Simpan

    $insert= $db->query($sql);

    if($insert){

        // Get Last Id posting after insert

        $idposting= $db->insert_id;

        if(is_array($category)&& count($category) > 0) {

            $sqlcat = "INSERT INTO cat_post (idcat, id_post) VALUES ";

            // setup multiple insert di table cat_post

            $cat_count=count($category);

            for($i=0;$i< $cat_count;$i++){

                $sqlcat.="('{$category[$i]}', '{$idposting}'),";

            }

            $sqlcat =rtrim($sqlcat,',');

            // execute insert onto database

            if($db->query($sqlcat)) {

                header('location:'.$domain.'admin/posts.php?insert=true&edit='.$idposting);

                exit();

            }else{

                $error='Gagal insert category';

            }

        }

        header('location:'.$domain.'admin/posts.php?insert=true&edit='.$idposting);

        exit();

    } else{

        $error='Gagal Insert Posting';

    }

}

/**

* Eksekusi Update

* Eksekusi ini akan berjalan apabila ada ada $_POST dari mode Edit

*/

if (isset($_POST['update-post'])){

    /**

     * $db adalah koneksi database. lihat admin-loader.php

     */

    $id_post= $db->escape_string($_POST['update-post']);// id post yg hendak diupdate

    $posting=$db->escape_string($_POST['post']);

    $author  =$db->escape_string($_SESSION['user_ID']);

    $title   =$db->escape_string($_POST['title']);

    $category=isset($_POST['category'])?$_POST['category']:'';

    $excerpt='';

    // check apakah menggunakan readmore atau tidak

    $pagebreak=$db->escape_string('<div style="page-break-after:always">');

    if (strpos($posting,$pagebreak)!==false){

        // ambil kalimat sebelum page-break

        $post    = explode($pagebreak,$posting);

        $excerpt=$post[0];

    }else{

        // ambil 50 kata awal paragraf

        $post    =strip_tags($posting);

        $excerpt=implode(' ', array_slice(explode(' ',$post),0,50));

    }

    $sql="UPDATE

                posting

            SET

                iduser='$author',

                content='$posting',

                title='$title',

                excerpt='$excerpt'

            WHERE

                id_post='$id_post' ";

    $update=$db->query($sql);

    if($update){

        // jika ada kategori

        if(is_array($category)&& count($category) > 0) {

            $select = "DELETE FROM cat_post WHERE id_post='$id_post'";

            if($db->query($select)){

                $cat_count= count($category);

                $sqlcat="INSERT INTO cat_post (idcat, id_post) VALUES ";

                for ($i=0;$i<$cat_count;$i++){

                    $sqlcat.="('{$category[$i]}', '{$id_post}'),";

                }

                $sqlcat=rtrim($sqlcat,',');

                // execute insert onto database

                if($db->query($sqlcat)){

                    header('location:'.$domain.'admin/posts.php?update=true&edit='.$id_post);

                    exit();

                }else{

                    $error ='Gagal UPDATE category';

                }

            }

        }  

    }

}

/**

* Eksekusi Edit

* Eksekusi ini akan berjalan saat masuk mode edit

*/

if(isset($_GET['edit'])){

    $idpost= $_GET['edit'];

    // mengambil post dari database

    $sql="SELECT title, content FROM posting WHERE id_post = '$idpost' LIMIT 1";

    $result=$db->query($sql);

    if($result->num_rows>0){

        $post=$result->fetch_assoc();

        $title   =$post['title'];

        $posting=$post['content'];

        $button  ='Update';

        $update  = '<input type="hidden" name="update-post" value="'.$idpost.'"/>';

    }else{

        header('location:'.$domain.'admin/posts.php');

        exit();

    }

    /**

     * Selection Categories untuk menyeleksi kategori yang sudah dipilih

     */

    $sql= "SELECT

                Cp.idcat

            FROM

                cat_post Cp,

                categories Cs

            WHERE

                Cp.idcat=Cs.idcat

            AND

                Cp.id_post='$idpost'";

    $categories =$db->query($sql);

    if($categories->num_rows>0){

        $cats= array();

        while($cat=$categories->fetch_assoc()){

            $cats[] =$cat['idcat'];

        }

    }

}

/**

* Eksekusi DELETE

* apabila ada parameter (GET) ../posts.php?delete=ID di address bar

*/

if (isset($_GET['delete'])&&

    !empty($_GET['delete']) &&

    is_numeric($_GET['delete'])

    ) {

    $id_post = $_GET['delete'];

    $posting ="DELETE FROM posting WHERE id_post='$id_post'";

    $select  ="DELETE FROM cat_post WHERE id_post='$id_post'";

    $db->query($posting);

    $db->query($select);

    header('location:'.$domain.'admin/all-post.php?delete=sukses');

    exit();

}

?>

<div class="row header">

    <div class="col-md-2 title-site "><h2>ONPanel</h2></div>

    <div class="col-md-8 title-page"><h2>Halaman Posting</h2></div>

    <div class="col-md-2 text-right author-shortcut">hi,<?=$_SESSION['user_login'];?></div>

</div>

<div class="row">

    <?phprequire'sidebar.php';?>

    <div class="col-md-7">

        <form method="post">

            <?=$update;?>

            <?php

            /**

             * Report for Insert, success or error

             */

            echo$error;

            echo (isset($_GET['insert'])&& $_GET['insert'] == 'true') ? 'Sukses':'';

            ?>

            <div class="form-group">

                <input type="text"class="form-control"name="title"value="<?=$title;?>" placeholder="Title..."/>

            </div>

            <textarea name="post"id="post-1"rows="10" cols="80"><?=$posting;?></textarea>

            <script>

                // Replace the <textarea id="editor1"> with a CKEditor

                // instance, using default configuration.

                CKEDITOR.replace('post-1',{

                    toolbar: [

                        {name:'basicstyles',items:['Format','FontSize', 'Source',

                                                        'Bold',

                                                        'Italic',

                                                        'Underline',

                                                        '-',

                                                        'JustifyLeft',

                                                        'JustifyCenter',

                                                        'JustifyRight',

                                                        'JustifyBlock',

                                                        '-',

                                                        'Undo',

                                                        'Redo',

                                                        'PageBreak', 'Link','Unlink','Image']},

                    ]

                });

            </script>

            <br>

            <button class="btn btn-primary btn-sm"><?=$button;?></button>

    </div>

    <div class="col-md-3">

        <h3 class="right-side-title">Categories</h3>

        <?php

            // Tampilankan Category

            $sql="SELECT * FROM categories ORDER BY idcat DESC";

            // $db -> lihat admin-loader.php

            $result =$db->query($sql);

            if($result->num_rows>0){

                while ($row=$result->fetch_assoc()){

                    // selected

                    $checked =(in_array($row['idcat'],$cats))?'checked':'';

                    echo'<input type="checkbox" name="category[]" value="'.$row['idcat'].'" '.$checked.'/>  '.$row['category'];

                }

            } else{

                echo'<i>Tambah category di halaman Categories</i>';

            }

        ?>

    </div>

    </form>

</div>

<?phprequire'footer.php';?>