[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: подсчет количества символов в поле
darkcuba
Всем добрый вечер, есть такой код

 
if(strlen($_POST['myname'])>16)
{
$err[]='Имя было укорочено до 16 символов';
}
$name=mysql_real_escape_string(htmlspecialchars(trim(substr($_POST['myname'],0,16))));
errors();

echo "<input type='text' name='myname' class='gala' value='$user[name]'>";

Теперь при отправке имени с размером >8 символов она укорачивает его до 8 символов,
но если вводить только цифры то все работает норм, помогите кто знает, заранее спасибо



Спустя 4 минуты, 8 секунд (10.12.2011 - 18:55) Winston написал(а):
Если у тебя кодировка UTF-8 то нужно использовать библиотеку mb_ при проверке количества символов
if(mb_strlen($_POST['myname'], 'UTF-8')>16)
{
$err[] = 'Имя было укорочено до 16 символов';
}
$name = mysql_real_escape_string(trim(substr($_POST['myname'],0,16)));
errors();

echo "<input type='text' name='myname' class='gala' value='$user[name]'>";

PS: засовывать htmlspecialchars в mysql_real_escape_string не нужно !

Спустя 1 минута, 12 секунд (10.12.2011 - 18:56) darkcuba написал(а):
Что значит mb_strlen

Спустя 2 минуты, 57 секунд (10.12.2011 - 18:59) Winston написал(а):
Цитата
mb_strlen — Получает длину строки, при использовании многобайтовых кодировок

Спустя 2 минуты, 53 секунды (10.12.2011 - 19:02) darkcuba написал(а):
в htaccess добавил AddDefaultCharset UTF-8 все норм спасибо)
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.