Selamlar,
Basit HTML editor kullanıyordum daha sonra geliştirilmiş bir text editöre ihtiyacım olduğu için textarea'ya CKeditor'ü dahil ettim.
Formu POST ettiriyorum fakat textarea içerisine girmiş olduğum body içeriğini veritabanına yazmıyor.
Boş olarak kayıt ediyor.
Aşağıda ilgili kodları görebilirsiniz;

HTML formum:
  <form id="post-form">

    <label for="title">Başlık:</label><br>
    <input class="form-control" type="text" id="title" name="title"><br>


    <label for="body">İçerik:</label><br>
    <textarea id="body" name="body"></textarea>

    </br>

    <label>Departman:</label>
  <?php
    // Kategorileri dropdown listesi olarak gösterin
    $sql = "SELECT id, name FROM categories";
    $result = mysqli_query($conn, $sql);

    echo '<select class="form-select" id="category_id" name="category_id">';
    while ($row = mysqli_fetch_assoc($result)) {
      echo '<option value="' . $row['id'] . '">' . $row['name'] . '</option>';
    }
    echo '</select>';
  ?>

    <input class="btn btn-success" type="submit" name="submit" value="Ekle">

  </form>
CKEditor javascript kodlarım;
  <script type="text/javascript">
  var editor = CKEDITOR.replace( 'body', {
      filebrowserBrowseUrl : '../assets/ckfinder/ckfinder.html',
      filebrowserImageBrowseUrl : '../assets/ckfinder/ckfinder.html?type=Images',
      filebrowserFlashBrowseUrl : '../assets/ckfinder/ckfinder.html?type=Flash',
      filebrowserUploadUrl : '../assets/ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Files',
      filebrowserImageUploadUrl : '../assets/ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Images',
      filebrowserFlashUploadUrl : '../assets/ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Flash'
  });
  CKFinder.setupCKEditor( editor, '../' );
  </script>
Formu POST ettiğim AJAX;

<script>
    // Form submit olayına bir dinleyici ekleyin
    document.getElementById('post-form').addEventListener('submit', addAnnouncement);

    function addAnnouncement(e) {
      // Form verilerini alın
      var title = document.getElementById('title').value;
      var body = document.getElementById('body').value;
      var category_id = document.getElementById('category_id').value;

      // Ajax isteği oluşturun
          var xhr = new XMLHttpRequest();
          xhr.open('POST', 'duyuru_ekle_islem.php', true);
          xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
          xhr.onload = function() {
            if (this.status == 200) {
              // Duyuru ekleme işleminin başarılı olup olmadığını kontrol edin
              if (this.responseText == "Duyuru başarıyla eklendi") {
                // Başarılı ise bir mesaj gösterin
                alert("Duyuru başarıyla eklendi");
              } else {
                // Başarısız ise bir hata mesajı gösterin
                alert("Hata: " + this.responseText);
              }
            }
          }

      // Form verilerini gönderin
      var data = "title=" + title + "&body=" + body + "&category_id=" + category_id;
      xhr.send(data);

      e.preventDefault();
    }
</script>
Duyuru_ekle_islem.php dosyası;
<?php

require_once('config.php');

ini_set('display_errors', 1); // Hata mesajlarını görüntülemeyi aktif hale getirin
error_reporting(E_ALL); // Tüm hata seviyelerini görüntüle

// Formdan gönderilen verileri alın
$title = mysqli_real_escape_string($conn, $_POST['title']);
$body = mysqli_real_escape_string($conn, $_POST['body']);
$category_id = mysqli_real_escape_string($conn, $_POST['category_id']);

if(!$mail->send()) {
// E-posta gönderilemedi
echo 'E-posta gönderilemedi: ' . $mail->ErrorInfo;
} else {
// E-posta başarıyla gönderildi
echo 'E-posta başarıyla gönderildi.';
} 

// Verileri veritabanına ekleyen SQL sorgusunu oluşturun
$sql = "INSERT INTO announcements (title, body, category_id) VALUES ('$title', '$body', '$category_id')";

// SQL sorgusunu çalıştırın
if (mysqli_query($conn, $sql)) {
  // Sorgu başarıyla çalıştırıldıysa, post eklendi
  echo 'Post eklendi';
} else {
  // Sorgu çalıştırılamadıysa, hata mesajını yazdırın
  echo 'Post eklenemedi: ' . mysqli_error($conn);
}

// Veritabanı bağlantısını kapatın
mysqli_close($conn);

?>