PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (1): [1]

> Найдено сообщений: 2
scurra Отправлено: 27 Ноября, 2016 - 13:33:05 • Тема: 1.<textarea> и mysql_real_escape_string • Форум: Работа с СУБД

Ответов: 3
Просмотров: 951
Denkill пишет:
Скорее всего $_POST['textvalu'] пуст. Иначе не может быть.

первая строчка кода выводит $_POST["textvalu"] на страницу нормально.
(Добавление)
Строитель пишет:
scurra пишет:
Какие идеи?

1. Распечатать строку $utext = "777". mysql_real_escape_string($ttext);
PHP:
скопировать код в буфер обмена
  1. echo '<pre>'; var_dump($utext); echo '</pre>';


2. Проверить тип данных поля, в которое записывается строка из переменной $utext, и его размер.


string(3) "777"
в БД $utext пишется в VARCHAR(1024)
вот форма

CODE (html):
скопировать код в буфер обмена
  1. <form action="contacts.php" method="post" enctype="multipart/form-data">
  2. <textarea name="textvalu" cols="78" rows="20" maxlenght="1024"></textarea><br><br>
  3. <center><input type="file" name="filename"><br><br>
  4. <input type="submit" value="Загрузить"><br></center>
  5. </form>


проблема в том, что в первой строке кода $_POST["textvalu"] содержит введенные в форме данные, а после mysql_real_escape_string(), они исчезают сказочным образом.

Проверил - mysql_real_escape_string() с любой строковой переменной на выходе дает "ничего".

PHP Version 5.6.24-0+deb8u1
в этой версии может какие-то траблы с этой функцией?
(Добавление)
РЕШЕНО: функция mysql_real_escape_string нужно использовать ПОСЛЕ установления соединения с БД, а не ДО.
scurra Отправлено: 26 Ноября, 2016 - 20:08:48 • Тема: 1.<textarea> и mysql_real_escape_string • Форум: Работа с СУБД

Ответов: 3
Просмотров: 951
PHP:
скопировать код в буфер обмена
  1.  
  2. echo $_POST["textvalu"];
  3. $ttext=$_POST["textvalu"];
  4. $utext="777".mysql_real_escape_string($ttext);
  5. mysql_query("INSERT INTO `111`(`text`) VALUES ('$utext')");


Данный кусок кода записывает в БД только "777", но выводит в первой строке именно тот текст, что был введен в форме отправки. В общем mysql_real_escape_string обрезает полностью то, что пришло из формы в <textarea></textarea>.
Какие идеи?

Страниц (1): [1]
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB