Days
Hours
Minutes
Seconds

Promo Grand Opening

15% OFF

Khusus Pelanggan Baru

Tutorial PHP: Membuat Form Posting Artikel dengan CKEditor

Tentu, ini adalah artikel mengenai cara membuat form posting artikel dengan CKEditor.


 

 

Dalam membangun sebuah blog atau sistem manajemen konten (CMS), formulir untuk membuat atau mengedit artikel adalah komponen yang sangat vital. Menggunakan textarea biasa untuk konten artikel akan membatasi pengguna dalam hal format teks, seperti membuat teks tebal, miring, menambahkan daftar, atau menyisipkan gambar.

Di sinilah CKEditor berperan. CKEditor adalah editor WYSIWYG (What You See Is What You Get) yang memungkinkan pengguna mengedit teks dengan antarmuka yang kaya fitur, mirip dengan pengolah kata. Tutorial ini akan memandu Anda membuat form posting artikel yang terintegrasi dengan CKEditor dan memproses datanya menggunakan PHP.

 

1. Persiapan: Mengunduh dan Menyiapkan CKEditor

 

Langkah pertama adalah mendapatkan file CKEditor. Anda dapat mengunduh versi terbaru dari situs web resminya. Untuk kemudahan, kita akan menggunakan Classic Editor dari CKEditor 5.

  1. Kunjungi situs resmi CKEditor dan unduh Classic Editor build.
  2. Ekstrak file yang diunduh. Anda akan mendapatkan sebuah folder.
  3. Salin folder ini ke direktori proyek web Anda. Misalnya, Anda bisa menamainya ckeditor.

Struktur proyek Anda mungkin akan terlihat seperti ini:

proyek_anda/
├── ckeditor/
│   ├── build/
│   │   ├── ckeditor.js
│   │   ├── ... (file lainnya)
├── form_artikel.php

 

2. Membuat Form HTML

 

Sekarang, mari kita buat formulir HTML sederhana. Di dalam form ini, kita akan membuat satu input untuk judul dan satu textarea untuk konten artikel. textarea inilah yang akan kita ubah menjadi CKEditor.

Buat file baru bernama form_artikel.php dan tambahkan kode berikut:

PHP

<!DOCTYPE html>
<html lang="id">
<head>
    <meta charset="UTF-8">
    <title>Posting Artikel</title>
</head>
<body>

    <h2>Buat Artikel Baru</h2>

    <form action="proses_artikel.php" method="post">
        <label for="judul">Judul Artikel:</label><br>
        <input type="text" id="judul" name="judul" style="width: 100%; padding: 8px;"><br><br>
        
        <label for="editor">Konten Artikel:</label><br>
        <textarea name="konten" id="editor"></textarea><br><br>
        
        <input type="submit" value="Posting Artikel">
    </form>

    </body>
</html>

Perhatikan bahwa textarea kita memiliki atribut id="editor" dan name="konten". id akan kita gunakan untuk inisialisasi CKEditor, sementara name akan digunakan oleh PHP untuk mengambil datanya.


 

3. Mengintegrasikan CKEditor ke Form

 

Ini adalah bagian paling penting dari integrasi. Kita perlu menyisipkan file JavaScript CKEditor dan menulis sedikit kode untuk mengubah textarea menjadi editor.

Tambahkan kode JavaScript berikut di bagian bawah <body> di file form_artikel.php.

HTML

<script src="ckeditor/ckeditor.js"></script>
    
    <script>
        // Inisialisasi CKEditor pada textarea dengan id="editor"
        ClassicEditor
            .create( document.querySelector( '#editor' ) )
            .catch( error => {
                console.error( error );
            } );
    </script>

</body>
</html>

Sekarang, jika Anda membuka file form_artikel.php di browser, textarea akan berubah menjadi editor teks yang kaya fitur!


 

4. Memproses Data dengan PHP

 

Setelah pengguna mengisi form dan menekan tombol “Posting Artikel”, data akan dikirim ke file proses_artikel.php (sesuai dengan atribut action di form).

Buat file baru bernama proses_artikel.php dan tambahkan kode PHP berikut.

PHP

<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    // Ambil data dari form
    $judul = $_POST['judul'];
    $konten = $_POST['konten'];

    // Menampilkan data yang diterima (untuk contoh)
    echo "<h1>Judul: " . htmlspecialchars($judul) . "</h1>";
    echo "<h3>Konten Artikel:</h3>";
    echo "<hr>";
    echo $konten; // Output konten, perhatikan tanpa htmlspecialchars
    
    // PERINGATAN PENTING:
    // Menggunakan htmlspecialchars() pada konten CKEditor akan menghilangkan semua format!
    // Untuk tujuan keamanan (mencegah XSS), Anda harus menggunakan library sanitasi yang lebih canggih
    // seperti HTML Purifier sebelum menyimpan konten ke database.
    // Kode di atas hanya untuk demonstrasi, JANGAN gunakan di lingkungan produksi
    // tanpa sanitasi yang tepat.

    // Contoh kode untuk menyimpan ke database (belum lengkap)
    // $sql = "INSERT INTO artikel (judul, konten) VALUES (?, ?)";
    // $stmt = $koneksi->prepare($sql);
    // $stmt->execute([$judul, $konten]);
    // echo "Artikel berhasil disimpan!";
} else {
    echo "Metode pengiriman data tidak valid.";
}
?>

Penting: Data yang dihasilkan oleh CKEditor adalah kode HTML. Jika Anda ingin menyimpannya ke database, Anda harus berhati-hati. Sanitasi adalah hal yang wajib dilakukan untuk mencegah serangan Cross-Site Scripting (XSS). Menggunakan echo $konten secara langsung dalam produksi sangat tidak disarankan. Anda harus menggunakan pustaka seperti HTML Purifier untuk membersihkan kode HTML dari skrip berbahaya.


 

Kesimpulan

 

Dengan mengikuti langkah-langkah di atas, Anda telah berhasil membuat form posting artikel yang modern dan mudah digunakan dengan CKEditor. Ini adalah peningkatan signifikan dari textarea biasa dan memberikan pengalaman yang jauh lebih baik bagi pengguna Anda. Proyek ini adalah fondasi yang bagus untuk membangun sistem blog atau CMS yang lebih besar dan fungsional. Langkah selanjutnya adalah menghubungkan proses ini dengan database untuk menyimpan dan menampilkan artikel yang telah dibuat.

Wawasan Terbaru

Gemini_Generated_Image_wfw5uwwfw5uwwfw5
Mengenal Dunia Grafis: Dari Piksel Hingga Vektor, Kekuatan Visual di Era Digital
Gemini_Generated_Image_b6dimfb6dimfb6di
Mengenal Foundation: Kerangka Kerja Front-End Profesional untuk Web Responsif
Gemini_Generated_Image_sx3ztpsx3ztpsx3z
CSS
Mempercantik Website dengan CSS: Seniman di Balik Tampilan Web 🎨
Gemini_Generated_Image_e013qke013qke013
Mengenal HTML: Fondasi dari Setiap Halaman Website 🌐
Gemini_Generated_Image_ldki4nldki4nldki
Menyelami Dunia Coding: Seni Berbicara dengan Komputer
Gemini_Generated_Image_dpvliydpvliydpvl
Menguasai GIT: Fondasi Penting dalam Dunia Pengembangan Perangkat Lunak
Gemini_Generated_Image_sqcib9sqcib9sqci
Tutorial Python #12: Mengenal Jenis-jenis Operator dalam Python
Gemini_Generated_Image_o1bw3do1bw3do1bw
Memahami Tipe Data Dictionary dalam Python
Gemini_Generated_Image_ko4ixfko4ixfko4i
Mengenal Tipe Data Set dalam Python
Gemini_Generated_Image_1xop7m1xop7m1xop
Tuple dalam Python: Pengenalan dan Tutorial

Wawasan Serupa

Gemini_Generated_Image_jqzcx1jqzcx1jqzc
Gemini_Generated_Image_4y7hx34y7hx34y7h
Gemini_Generated_Image_8u3is88u3is88u3i
Gemini_Generated_Image_so6338so6338so63

Ceritakan Detail Proyekmu

Mulai dari 30K aja, solusi IT kamu langsung jalan tanpa drama.

Kata Mereka Tentang Solusi Coding

Dipercaya oleh lebih dari 200++ client untuk menyelesaikan proyeknya dengan total 250++ proyek dari berbagai jenis proyek