Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Пробелы в БД и текстовые поля

 PHP.SU

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


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

> Описание: при выводе строчки из БД в текстовое поле она сечется
driezer
Отправлено: 13 Декабря, 2007 - 00:25:07
Post Id


Новичок


Покинул форум
Сообщений всего: 7
Дата рег-ции: Дек. 2007  


Помог: 0 раз(а)




доброго времени!

такая проблема:
есть БД mySQL в таблице есть переменная типа varchar 32. Когда я беру ее скриптом и пытаюсь загрузить в текстовое поле, видно только первую часть строки а остальное нет. Пример:

в БД:
adress: "_Народного_Ополчения_ул.,_2,_корп._1" (где _ - пробелы)

в текстовом поле видно: "Народного" (и все!)

Что я делал:
1. Менял длинну текстового поля
2. удалял пробелы из начала и конца строки (trim)

Подскажите как решить проблему!
 
 Top
EuGen Администратор
Отправлено: 13 Декабря, 2007 - 07:17:26
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




А Вы проверьте, что у Вас собственно в базе лежит. Например, через консоль. Не исключено, что загрузка в текстовое поле у Вас реализована правильно, а вот запись в базу - не правильно.


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
evgenijj
Отправлено: 13 Декабря, 2007 - 09:15:32
Post Id



Участник


Покинул форум
Сообщений всего: 1212
Дата рег-ции: Авг. 2006  
Откуда: Москва


Помог: 10 раз(а)




driezer пишет:
Пример:
в БД:
adress: "_Народного_Ополчения_ул.,_2,_корп._1" (где _ - пробелы)

в текстовом поле видно: "Народного" (и все!)

Подскажите как решить проблему!

Это потому, что некоторые разгильдяи не используют кавычки в атрибуте value тега input. По неведомым причинам они считают ниже своего достоинства следовать рекомендациям W3C, а потом часами ищут вот такие ошибки.

< input type="text" name="address" value="Народного Ополчения ул., 2, корп. 1" />

P.S. Перед тем, как записывать переменную в текстовое поле input, надо обработать ее с помощью функции htmlspecialchars() -- на случай, если переменная (строка) содержит кавычки. Иначе может получиться такая ситуация:

< input type="text" name="organization" value="ЗАО "Рога и копыта" />
 
 Top
driezer
Отправлено: 13 Декабря, 2007 - 19:31:00
Post Id


Новичок


Покинул форум
Сообщений всего: 7
Дата рег-ции: Дек. 2007  


Помог: 0 раз(а)




пробовал и убирать лишние символы и пробелы убирал ..

самое интересное что если в базе написать "НародногоОполченияул." (без пробелов) то выдается вся строка.

Вот моя строка текстового поля:

CODE (text):
скопировать код в буфер обмена
  1.  
  2. <input type="text" name="adress" maxlength="255" <?php echo"value=$_SESSION [adress]"; ?> class=frm>
  3.  
 
 Top
Staind
Отправлено: 13 Декабря, 2007 - 19:42:39
Post Id



Гость


Покинул форум
Сообщений всего: 116
Дата рег-ции: Нояб. 2007  
Откуда: Планета сокровищ


Помог: 0 раз(а)

[+]


Во-первых обрамлять нужно в php, а не в code.
Во-вторых:
PHP:
скопировать код в буфер обмена
  1. <input type="text" name="adress" maxlength="255" value='<?PHP echo $_SESSION ['adress']; ?>' class=frm>

Так правильно. И вообще, evgenijj Вам ясно написал "Это потому, что некоторые разгильдяи не используют кавычки в атрибуте value тега input."
 
 Top
driezer
Отправлено: 13 Декабря, 2007 - 20:04:32
Post Id


Новичок


Покинул форум
Сообщений всего: 7
Дата рег-ции: Дек. 2007  


Помог: 0 раз(а)




evgenijj пишет:
driezer пишет:
Пример:
в БД:
adress: "_Народного_Ополчения_ул.,_2,_корп._1" (где _ - пробелы)

в текстовом поле видно: "Народного" (и все!)

Подскажите как решить проблему!

Это потому, что некоторые разгильдяи не используют кавычки в атрибуте value тега input. По неведомым причинам они считают ниже своего достоинства следовать рекомендациям W3C, а потом часами ищут вот такие ошибки.

< input type="text" name="address" value="Народного Ополчения ул., 2, корп. 1" />

P.S. Перед тем, как записывать переменную в текстовое поле input, надо обработать ее с помощью функции htmlspecialchars() -- на случай, если переменная (строка) содержит кавычки. Иначе может получиться такая ситуация:

< input type="text" name="organization" value="ЗАО "Рога и копыта" />


Да, Евгений.. вы оказались правы. Поставил кавычки и все заработало как положено. Спасибо вам!
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB