PHP - Показать специальные символы

Фрагмент, чтобы позволить пользовательский ввод

//fetch user input and pass it in URL
alertify.prompt("Please enter note/remarks for this Form (optional):", function (e,value) {
    if (e) {
               alertify.success("Form has been submitted");
               $.post(SITE_URL+"someController/someAction",$("#frm_submit").serialize()+ "&user_id="+user_id+"&comment="+value, function( data ) {
           });

    }else{
       alertify.error("Your Form is not submitted");
    }
});

Пользовательский ввод: Мой проект Google R&D для каждого гуглера

Когда форма опубликована, ввод не завершен и показывает, как показано ниже

echo $_POST['comment'] печатает мой проект Google R

Здесь, если пользователь вводит специальные символы, такие как & как в комментарии, это нарушает ввод

Пробовал с помощью htmlentities($_POST['comment']) а также htmlspecialchars($_POST['comment'], ENT_QUOTES, 'UTF-8') но не работает.

Как я могу позволить пользователю вводить специальные символы?

PS: я не сохраняю это значение в базе данных

3 ответа

Как предложил Даан, & ломает URL в JavaScript. Просьба найти обновленный фрагмент, который работал для меня

//fetch user input and pass it in URL
alertify.prompt("Please enter note/remarks for this Form (optional):", function (e,value) {
    if (e) {

               alertify.success("Form has been submitted");

               //encodes special characters in user comment
               var comment = encodeURIComponent(value);

               $.post(SITE_URL+"someController/someAction",$("#frm_submit").serialize()+ "&user_id="+user_id+"&comment="+comment, function( data ) {
           });

    }else{
       alertify.error("Your Form is not submitted");
    }
});

Попробуй это:

stripslashes($_POST['comment'])

Используйте параметры записи для отправки ваших данных.

$.ajax({
  type: "POST",
  url: your_url,
  data: { user_id: user_id, comment: value } 
});
Другие вопросы по тегам