Я не могу опубликовать статью определенной длины символа на живом сервере - PullRequest
0 голосов
/ 31 октября 2018

Подача статей работала отлично при любой длине символа на этапе разработки (xampp), но на живом сервере не отправлялась при определенной длине символа. Я попытался предупредить, прежде чем ajax отправит его на сервер, и я увидел все символы статьи, но после этого ничего не происходит. пожалуйста, что могло случиться?

/ Javascript /

document.querySelector('.m-s-twoPostFormSubmit').onclick = function(e) {
  e.preventDefault();
  /*get the post form*/
  var theForm = document.getElementById("m-s-twoPostForm");

  /*transfer the text content of the iframe to form textarea*/
  theForm.elements.myTextArea.innerHTML = window.frames.richTextField.document.body.innerHTML;

  /*Gets the post title*/
  var post_title = document.querySelector('.m-s-twoPostFormTitle').value.trim();

  /*Gets the main post*/
  var main_post = document.querySelector('.m-s-twoPostFormTextarea').value.trim();

  /*Gets the post's interest*/
  var post_interest = document.querySelector('.m-s-twoPostFormInterest').value.trim();

  if(/^[0-9a-zA-Z -?:_']+$/.test(post_title) === false || post_title === '') {
      AnimatedNotifMessage('Title must not be empty', 0);
      return;
  }

  if(/^[a-zA-Z -]+$/.test(post_interest) === false || post_interest === 'Interest') {
      AnimatedNotifMessage('select an interest', 0);
      return;
  }

  //A loading GIF image to show the uploading process is still ongoing
  document.querySelector('.m-s-twoPostFormSubmit').innerHTML = '<img src="images/gif/loading.gif" style="width: 20px; height: 20px;">';

  var pp = 'pp';
  var pageName = 'post_insert';
  /*Submit the Ajax request*/
  var request = new XMLHttpRequest();
  request.onreadystatechange = function() {
     if (request.readyState === 4 && request.status === 200) {

           document.querySelector('.m-s-twoPostFormTitle').value = '';
           window.frames.richTextField.document.body.innerHTML = '';
           document.querySelector('.m-s-twoPostFormTextarea').value = '';         
           document.querySelector('.m-s-twoPostForm').style.display = 'none';
           document.querySelector('.m-s-twoPostBtn').style.display = 'block';

           document.querySelector('.m-s-twoPostFormSubmit').innerHTML = 'Submit';

           document.querySelector('.codeSnippetNotif').style.display = 'none';

           AnimatedNotifMessage(request.responseText, 1);

     }
  };

  request.onerror = function() {};
  request.open('POST', 'Ajax/index.php', true);
  request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');
  request.send('post_title='+post_title+'&pageName='+pageName+
               '&main_post='+main_post+
               '&post_interest='+post_interest+
               '&pp='+pp);
    }; 


<?php

if(isset($_SESSION['email'])) {

    //%20%20 is generated from html purifier to sanitise the image in the src attribute
    //and as a result breaks the image
    $post = str_replace('%20%20', '', $post);

    $email = $_SESSION['email'];

    $username = $_SESSION['username'];

    $curtime = date('Y-m-d H:i:s');

    $stmt = $dbconn->prepare("INSERT INTO post_x (post_title, main_post, time_posted, post_by, post_by_username, post_int)
                                VALUES (?, ?, ?, ?, ?, ?)");
    $stmt->bind_param("ssssss", $post_title, $post,  $curtime, $email, $username, $interest);

    $stmt->execute();

    $stmt->close();

    echo 'Post successfully inserted';

    $dbconn->close();
}

?>

1 Ответ

0 голосов
/ 31 октября 2018

Это может быть связано с настройками на работающем сервере, где он не допускает POST с содержимым, превышающим установленное количество байтов / килобайт.

Если у вас есть доступ к работающему серверу, я бы рекомендовал проверить эти значения.

Создание файла phpinfo должно показать вам, сколько вы можете POST.

<?php
phpinfo();
?>

Найдите следующее: post_max_size, и вы увидите, сколько данных вы можете POST.

Значение может быть установлено в вашем php.ini

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...