Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/15: Рейтинг темы: голосов - 15, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 08.07.2016
Сообщений: 10

Запрет ввода символов ( ' и % ) в текстовое поле textarea

24.07.2016, 15:25. Показов 3057. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый всем день.
Столкнулся с такой проблемой, что при вводе данных в БД символа " % " его дальнейшее извлечение невозможно и выходит ошибка printf() [function.printf]:. Удаляю " % " из БД, выборка происходит. А с символом " ' " даже ввод (INSERT) невозможен - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ..... Для выхода из данной ситуации необходим скрипт для запрета ввода данных символов в текстовое поле. Если я не прав или можно сделать по другому буду очень рад помощи.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
24.07.2016, 15:25
Ответы с готовыми решениями:

Как вернутся в текстовое поле
Только начал заниматься PHP.Поставил для себя задачу написать калькулятор. Сделал html-ий файл с формой отдельно, php-ый код отдельно. Не...

Вставка данных в текстовое поле
Добрый день! Помогите решить проблему: 1. Есть форма для добавления строки в таблицу mySQL 2. В этой форме есть текстовое поле и...

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

7
Ренегат
Эксперт HTML/CSS
 Аватар для BANO
1740 / 1085 / 386
Регистрация: 06.08.2014
Сообщений: 5,203
Записей в блоге: 1
25.07.2016, 13:52
djonn, покажите то, что уже есть.
0
0 / 0 / 0
Регистрация: 08.07.2016
Сообщений: 10
25.07.2016, 14:57  [ТС]
Вариант такой onkeyup="var yratext=/[''','%']/; if(yratext.test(this.value)) alert('Введены запрещенные символы')", но в код кавычки двойные нельзя. А так onkeyp работает.

PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<?php
require_once "lib/soh_form_ojd.php";
require 'lib/soedinenie s mysql.php';
require 'lib/izmenenie_time.php';
$sql_select = "SELECT * FROM ojd WHERE data='$today' ORDER BY data DESC LIMIT 1";
$result = mysql_query($sql_select);
$row = mysql_fetch_array($result);
 
 
if($row !=false)
{
    printf("<table cellspacing='1'>
<tr><td colspan='9'></td></tr>
<tr>
        
        <td bgcolor='white' style='border: 5px double black; width: 40px;'>СХ</td>
        <td bgcolor='white' style='border: 5px double black; width: 40px;'>ООП</td>
        <td width='50'></td>
        <td colspan='2' align='center'></td>
    <td><label for='date'><font color='navy'>Архив:</font> </label><input type='text' name='data' style='width: 110px;' placeholder='Календарь'  readonly='readonly' value=' " .$row['data'] . "' onclick='showcalendar(this)'/></td>
    
    <tablecellpadding='1' cellspacing='15' bgcolor='#c7d0cc' border='1'>
        <caption><font size='4'><b>Оперативный журнал<b></caption> 
 
<tr>
        <td><textarea [COLOR="navy"]onkeyup="var yratext=/[''','%']/; if(yratext.test(this.value)) alert('Введены запрещенные символы')"[/COLOR] placeholder='Работа' name='work' style='width: 120px; height: 178px; text-align: center;'>" .$row['work'] . "</textarea></td>
        <td rowspan='3'><textarea style='width: 1100px; height: 600px;' name='zapici'>" .$row['zapici'] . "</textarea></td> 
</tr>       
<tr>
        <td><textarea placeholder='Резерв' name='rezerv' style='width: 120px; height: 178px; text-align: center;'>" .$row['rezerv'] . "</textarea></td>
        
</tr>       
<tr>
        <td><textarea placeholder='Ремонт' name='remont' style='width: 120px; height: 178px; text-align: center;'>" .$row['remont'] . "</textarea></td>
        
</tr>
</table>            
");
}
?>
0
Модератор
Эксперт JS
 Аватар для Eva Rosalene
5241 / 2115 / 416
Регистрация: 06.01.2013
Сообщений: 4,846
25.07.2016, 15:31
djonn, you're doing it wrong. Выкидывать символы никуда не надо, их нужно экранировать. Это раз. Экранировать на стороне сервера, а не клиента - это два.
В вашем случае подойдёт функция mysql_real_escape_string.
Но ещё лучше используйте PDO вместо mysql_* функций.
0
0 / 0 / 0
Регистрация: 08.07.2016
Сообщений: 10
25.07.2016, 16:49  [ТС]
Но я так понимаю, что мне не просто mysql_fetch_array на mysql_real_escape_string. Надо менять полностью запрос с кодом? Или я что-то не понимаю.
0
Модератор
Эксперт JS
 Аватар для Eva Rosalene
5241 / 2115 / 416
Регистрация: 06.01.2013
Сообщений: 4,846
27.07.2016, 23:43
djonn, да почему же. Если использовать функции mysql_* то просто отфильровать входные данные. Естественно на стороне сервера.

Вы лучше покажите код, который пишет в базу.
0
Software Engineer
 Аватар для Custos
328 / 328 / 54
Регистрация: 23.09.2014
Сообщений: 976
28.07.2016, 20:10
djonn, https://github.com/mvcbox/sql-... /README.md
1
0 / 0 / 0
Регистрация: 08.07.2016
Сообщений: 10
29.07.2016, 15:33  [ТС]
Извините не было возможности выйти на сайт.
Код -
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
$queryreg_add = mysql_query("INSERT INTO jd_morsh ( data_jd, SUM_SN_LPUMG, utech_gis, Q_utech_gis ) 
 
VALUES ('$data_jd', '$SUM_SN_LPUMG','$utech_gis', '$Q_utech_gis' ) 
 ON DUPLICATE KEY UPDATE SUM_SN_LPUMG='$SUM_SN_LPUMG', utech_gis = '$utech_gis', Q_utech_gis = '$Q_utech_gis' ") or die(mysql_error());
 
 if($queryreg_add)
{
echo '<script>alert("Данные успешно переданы")</script>';
}
else
{
 
}
?>
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
29.07.2016, 15:33
Помогаю со студенческими работами здесь

Вывод элемента таблицы БД в текстовое поле
Всем привет! новичок только в MySQL... как мне в текстовое поле вывести одно из полей таблицы?

Загрузка из БД в текстовое поле при вводе
как при вводе пользователя в текстовое поле вывести варианты выбора из бд по определенному столбцу Например: пользователь вводит букву...

Проверка, ввели ли данные в текстовое поле
Есть текстовое поле и кнопка. при нажатии на кнопку данные, введенные в текстовое поле сохраняются вот так: &lt;?php ...

Запрет ввода символов в текстовое поле TextBox
Хочу разрешит ввод только цифр + backspase + запятая. Делаю так: private void textBox16_KeyDown(object sender, KeyEventArgs e) ...

Запрет ввода символов в <textarea>
Всем привет нужна помощь!!! я новичок и мне нужно сделать запрет всех символов в поле ввод &lt;textarea&gt; кроме русских букв ! подскажите...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru