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
Форумы портала PHP.SU :: Версия для печати :: Пробелы в БД и текстовые поля
Форумы портала PHP.SU » PHP » Программирование на PHP » Пробелы в БД и текстовые поля

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

1. driezer - 13 Декабря, 2007 - 00:25:07 - перейти к сообщению
доброго времени!

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

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

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

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

Подскажите как решить проблему!
2. EuGen - 13 Декабря, 2007 - 07:17:26 - перейти к сообщению
А Вы проверьте, что у Вас собственно в базе лежит. Например, через консоль. Не исключено, что загрузка в текстовое поле у Вас реализована правильно, а вот запись в базу - не правильно.
3. evgenijj - 13 Декабря, 2007 - 09:15:32 - перейти к сообщению
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="ЗАО "Рога и копыта" />
4. driezer - 13 Декабря, 2007 - 19:31:00 - перейти к сообщению
пробовал и убирать лишние символы и пробелы убирал ..

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

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

CODE (text):
скопировать код в буфер обмена
  1.  
  2. <input type="text" name="adress" maxlength="255" <?php echo"value=$_SESSION [adress]"; ?> class=frm>
  3.  
5. Staind - 13 Декабря, 2007 - 19:42:39 - перейти к сообщению
Во-первых обрамлять нужно в php, а не в code.
Во-вторых:
PHP:
скопировать код в буфер обмена
  1. <input type="text" name="adress" maxlength="255" value='<?PHP echo $_SESSION ['adress']; ?>' class=frm>

Так правильно. И вообще, evgenijj Вам ясно написал "Это потому, что некоторые разгильдяи не используют кавычки в атрибуте value тега input."
6. driezer - 13 Декабря, 2007 - 20:04:32 - перейти к сообщению
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="ЗАО "Рога и копыта" />


Да, Евгений.. вы оказались правы. Поставил кавычки и все заработало как положено. Спасибо вам!

 

Powered by ExBB FM 1.0 RC1