Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
493 / 426 / 56
Регистрация: 29.04.2011
Сообщений: 443

Ввод из textarea

27.03.2014, 15:43. Показов 1970. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Пробую выполнить простой запрос к БД "SELECT * FROM sal;", а значение, вводимое в текстовое поле формы, не записывается в com, т.е. получается, что в php-скрипт попадает пустое $com==NULL. В чем может быть проблема?

PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<form action="<? print $PHP_SELF ?>"  method=post>
    <br><textarea name="com" rows="5" cols="75"></textarea>
    <p><input type="SUBMIT" value="Выполнить"    
</form>
 
<?php
    if (! isset($com)) 
    {
        print "Ошибка! Переменная не проинициализирована. \n";
    };
 
    if (isset($com)) 
    {
        ...
    }
?>
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
27.03.2014, 15:43
Ответы с готовыми решениями:

Ввод текста в textarea
Здравствуйте! Имеется web-страница, на которой присутствуют несколько элементов, в числе которых есть textarea. Пытаюсь на wsh,...

Проверка textarea на ввод смайлов
Всем привет. В коментах бывает срут не по детски смайлами, вставляют их по 10-20шт. Не пойму как сделать проверку. Есть форма c...

Как ограничить ввод данных в textarea
Мне нужно сделать так: Чтобы, если количество символов в textarea превышает N, то вывести сообщение о том, что превышает, и обрезать...

7
 Аватар для Vovan-VE
13210 / 6599 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
27.03.2014, 15:55
Лучший ответ Сообщение было отмечено route66 как решение

Решение

register_globals не существует. Это миф.

Добавлено через 46 секунд
HTML5
1
2
<form action="" method="post">
...
PHP
1
2
print_r($_POST);
var_dump($_POST['com']);
1
493 / 426 / 56
Регистрация: 29.04.2011
Сообщений: 443
27.03.2014, 21:25  [ТС]
Vovan-VE, Большое спасибо, помогло!

Запрос "SELECT * FROM cust;" сработал. Пишу следующий и снова отправляю через форму:
MySQL
1
SELECT * FROM cust WHERE city = 'San Jose';
А здесь появляется синтаксическая ошибка:
PHP/HTML
1
2
3
4
5
6
Array ( [com] => SELECT * FROM cust WHERE city = \'San Jose\'; ) 
 
-------------------------------------------------------------------------------------------
 
Ошибка: 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 '\'San Jose\'' at line 2
Что изменить?

Добавлено через 1 час 4 минуты
Похоже, что проблема кроется в слэшах '\', которые автоматически добавляются к 'San Jose' при отправке запроса через форму в php-скрипт. Так получается \'San Jose\'. Если в php-скрипте напрямую записать mysql-запрос в переменную,
MySQL
1
SELECT * FROM cust WHERE city = 'San Jose';
то все работает.

Тогда вопрос в том, как обойти добавление слэшей? Чтобы не получалось вот так:

MySQL
1
SELECT * FROM cust WHERE city = \'San Jose\';
0
 Аватар для Vovan-VE
13210 / 6599 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
28.03.2014, 15:25
route66, magic_quotes. Их тоже больше нет.
1
493 / 426 / 56
Регистрация: 29.04.2011
Сообщений: 443
28.03.2014, 16:06  [ТС]
Vovan-VE,
Приведу полный код. К изучению php еще даже не приступал - азы php с хэлловорлдами рассматриваются в следующей лабе. А в рамках данной лабораторной по mysql предполагается, что "всё должно работать" напрямую из формы (прикрепляю скрины примеров). Сам код php-скрипта был написан не знаю кем лет 6-7 назад. При этом "настоятельно рекомендуется использовать браузер IE" Видимо, не зря, т.к. в Chrome или Firefox не обрабатывается даже простой запрос "SELECT * FROM sal;", введенный из формы.
Мне уже кто-то сказал, что "этот код ужасен".
Если поможете отладить код этого горе-скрипта, буду премного благодарен.

Привожу весь код:
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
<!-- <FORM ACTION="<? print $PHP_SELF ?>"  METHOD=POST>-->
 
<form action=""  method=post>
    <br><textarea name="com" rows="5" cols="75"></textarea>
    <p><input type="SUBMIT" value="Выполнить"    
</form>
 
<p> <hr align=center color=black size=1 width=\"100%\"> <p>
 
<?php
 
    //$com = "SELECT * FROM sal;"; // работает из кода и из формы
    //$com = "SELECT * FROM sal WHERE city = 'San Jose';"; // работает только отсюда из кода, 
                                            // при вводе из формы - не работает
 
    mysql_error();
    print_r($_POST); // выводим содержимое текстового поля
    $com = $_POST['com']; // здесь я модифицировал, в соответствии с Вашими указаниями
    print_r($com); // SELECT * FROM sal WHERE city = /'San Jose/';  добавляются лишние слэши
    
 
    if (isset($com))
    {                
 
    print "<p>
    <HR ALIGN=center COLOR=black SIZE=1 WIDTH=\"100%\">
    <p>";
 
    $mysql_user = "root";  
    $conn = mysql_connect("localhost", 
    $mysql_user); 
    if (!$conn ) die ("Нет соединения с MySQL");
 
 
    $database = "sample";
    mysql_select_db($database) 
    or die ("Нельзя открыть $database");
 
 
    $query = "$com";
    $result = mysql_query($query) 
              or die ("<p>Ошибка: ".mysql_error());
 
     
    if (eregi("^select(.*)", trim($com))||eregi("^desc(.*)", trim($com)))
    {
        $num_rows = mysql_num_rows($result);
        // количество записей в запросе
        //print "<P>В таблице  содержится $num_rows строк";
        
        $num_fields = mysql_num_fields($result); 
        
        // количество столбцов в запросе
        print "<p><table border=1>\n"; 
        print "<tr>\n";
        
        for ($x=0; $x < $num_fields; $x++)
        {
            $name = mysql_field_name($result, $x); 
            print "\t<th>$name</th>\n";
            // печатаем имя $x-того столбца
        }
        
        print "</tr>\n";
             
        while ($a_row = mysql_fetch_row($result))
        {      // печатаем содержимое столбцов
            print "<tr>\n";
            foreach ($a_row as $field)  // $a_row - массив
            print "\t<td>$field</td>\n"; 
            print "</tr>\n";
        }
        
        print "</table>\n"; 
        
    }
    mysql_close($conn); 
    }
?>
Миниатюры
Ввод из textarea   Ввод из textarea  
0
493 / 426 / 56
Регистрация: 29.04.2011
Сообщений: 443
30.03.2014, 21:42  [ТС]
Проблема найдена - достаточно просто заменить:
PHP/HTML
1
$com = $_POST['com'];
На:
PHP/HTML
1
$com = stripslashes($_POST['com']);
Вопрос закрыт.
0
15 / 15 / 3
Регистрация: 31.08.2013
Сообщений: 98
31.03.2014, 10:10
Мне кажется ресурс, по котором вы изучаете web слегка устаревший... Да и как-то резко вы не зная синтаксиса языка делаете mysql запросы...
mysql тоже устарела и в след версии её заменят на mysqli, следовало бы начинать пользоваться последней или PDO.
0
 Аватар для Gouvere
19 / 19 / 8
Регистрация: 25.11.2013
Сообщений: 122
31.03.2014, 10:28
Смените учебник на более новый. Это прошлый век.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
31.03.2014, 10:28
Помогаю со студенческими работами здесь

Как запретить ввод текста, символов в textarea
как запретить ввод текста, символов в textarea Знаю, что можно поставить в теге disabled=disabled &lt;textarea name=&quot;1&quot;...

Ввод/вывод из полей input и textarea в бд mysql с помощью php
суть такая... из бд выводятся комментарии для редактирования... вывод работает нормально... Страница: &lt;?php ...

При добавлении поля <textarea> во всех предыдущих <textarea> все стирается
&lt;body&gt; &lt;input type=&quot;button&quot; value=&quot;Add note&quot; onclick=&quot;add('notes',0)&quot;&gt; &lt;div id=&quot;notes&quot;&gt; &lt;textarea id=&quot;inp0&quot; cols=&quot;30&quot;...

Как оставить textarea со стилями :focus, когда сама textarea не активна, но текст введен?
Подобное можно наблюдать Вконтакте. По умолчанию в поле видно только &quot;Что нового?&quot;, при фокусе поле становится шире, если фокус...

получение данных из textarea, их обработка и занесение в другой textarea
Добрый день! Нужна помощь по проблеме Есть html страница &lt;html&gt; &lt;body&gt; &lt;form action=&quot;index.php&quot;...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных через динамический список в справочнике
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru