У меня есть очень простая форма, которая позволяет пользователю искать название компании. Одно из названий компании — «А + Сервис». Как создать форму для кодирования знака плюс (+) перед отправкой формы, чтобы пользователь мог ввести «А +» и найти эту компанию?
Форма отправляется через POST.
Немного предыстории, чтобы помочь объяснить. Вот код для самой формы:
<form action="/search_customer.php" method="post" enctype="multipart/form-data"id="search_form" onsubmit="return validateSearch(document.search_form);">
Search Customers:
<input id="search_text1" name="global_search_text" type="text" value="">
<input type="submit" name="global_search" id="global_search" value="Go">
</form>
Когда мы отправляем эту форму с «a +» в качестве поискового термина, результирующий SQL будет:
SELECT * FROM tbl_customer
WHERE ( cus_fname LIKE '%a%' OR cus_lname LIKE '%a%');
Насколько я понимаю, нам нужно закодировать значение строки поиска до отправки формы, но мы не знаем, как это сделать.
Я думаю, что ваша проблема связана с +
переводится как пространство.
Если вы отправляете данные с помощью JavaScript, вы можете encodeURIComponent
значение на первых порах.
Попробуйте использовать mysql_real_escape_string при написании поискового запроса, передайте значение, как показано ниже … или покажите мне свой скриншот …
mysql_real_escape_string($value)