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");
}
});
Используйте параметры записи для отправки ваших данных.
$.ajax({
type: "POST",
url: your_url,
data: { user_id: user_id, comment: value }
});