|
|
|
| Как можно ограничить кол-во вводимых символов в форму
<div>
<label>Текст <br>
<textarea class="imput_text" name="text" id="text" cols="64" rows="8"></textarea>
</label>
|
| |
|
|
|
|
|
|
|
для: Dinya_1
(14.09.2008 в 16:51)
| | С помощью пользовательской JS функции. Но сами понимаете, на стороне клиента это легко обойти, так что на сервере это нужно будет проверять все равно.
PS. Вот смотрите как просто это сделать на JS (в примере ввод оганичен 10 символами):
<textarea cols="15" rows="3"
onkeypress="if(this.value.length > 9) return false"></textarea>
|
Но достаточно отключить выполнение JS у клиента и вуаля, посылай сколько хочешь. А любителям "покопаться" в исходнике, это вообще не помеха. | |
|
|
|
|
|
|
|
для: sim5
(14.09.2008 в 16:56)
| | А можно пример? | |
|
|
|
|
|
|
|
для: Dinya_1
(14.09.2008 в 17:11)
| | Да вот как знал, что будет таковой запрос, выставил, см. выше. | |
|
|
|
|
|
|
|
для: sim5
(14.09.2008 в 17:12)
| | Да, но почему то при ограничении в десять символов, путем копирования и вставки все равно можно написать неогранич.кол-во символов...
Так как же можно установить конкретный запрет....? | |
|
|
|
|
|
|
|
для: Dinya_1
(14.09.2008 в 17:27)
| | Плюнуть на это дело и проверять на сервере, я вам об этом и говорил раньше. JS, это только для удобства клиента, но никак не гарантия для вас. | |
|
|
|
|
|
|
|
для: sim5
(14.09.2008 в 17:37)
| | Значать поле TEXT в таблице на сервере , нужно переустановить на поле VARCHAR к примеру 4000 (кол-во символов), так? | |
|
|
|
|
|
|
|
для: Dinya_1
(14.09.2008 в 17:42)
| | В скрипте проверьте длину строки и если в ней слишком много символов выведите предупреждение... | |
|
|
|
|
|
|
|
для: Dinya_1
(14.09.2008 в 17:42)
| | Проверяйте - strlen(). | |
|
|
|
|
|
|
|
для: sim5
(14.09.2008 в 17:51)
| | А можно образец написания??? | |
|
|
|
|
|
|
|
для: Dinya_1
(14.09.2008 в 18:26)
| | Написания чего? | |
|
|
|
|
|
|
|
для: sim5
(14.09.2008 в 18:29)
| | strlen(). ..... | |
|
|
|
|
|
|
|
|
для: sim5
(14.09.2008 в 18:34)
| | Этот код нужно вписать в само поле (в смысле в поле формы)? А количество символов нужно указывать на сервере в таблице?
<?php
$str = 'abcdef';
echo strlen($str); // 6
$str = ' ab cd ';
echo strlen($str); // 7
?>
|
| |
|
|
|
|
|
|
|
для: Dinya_1
(14.09.2008 в 18:53)
| | В какое поле? Вы что? При получении формы, проверяете необходимое поле на длину символов в нем. Например, имя этого поля "message", а форма передается методом POST, тогда:
<?
if (strlen($_POST['message'] > 4000)
$error = "Поле сообщения должно содержать не более 4000 символов!";
//возвращаем форму пользователю с выводом этой ошибки
|
| |
|
|
|
|
|
|
|
для: sim5
(14.09.2008 в 18:58)
| | Извеняюсь за свою надоедливость, не могли бы Вы уточнить:
Писать этот код нужно в файл обработчик? | |
|
|
|
|
|
|
|
для: Dinya_1
(14.09.2008 в 19:08)
| | Конечно. Вы ведь принимаете форму скриптом обработчиком формы, и не только принимаете, но и ОБЯЗАНЫ проверять то, что вам шлют - на недоспустимое, на резрашенное вами и т.п.. | |
|
|
|
|
|
|
|
для: sim5
(14.09.2008 в 19:11)
| | Можно послед. вопрос по этой теме ?
В Какое место надо вставлять....
/*До этого шли проверки на существование введенного текста...*/
<?php
if (isset($title) && isset($text) && isset($gorod) && isset($name_klient))
{
/* Здесь пишем, что можно заносить информац. в базу*/ /*VALUES-Значение*/
$result = mysql_query ("INSERT INTO forma (title,cat,text,gorod,name_klient,tel,nomer_asq,e_mail,nazv_razdela,nazvan,date) VALUES ('$title','$cat','$text','$gorod','$name_klient','$tel','$nomer_asq',
'$e_mail','$nazv_razdela','$nazvan','$date')");
if ($result == 'true') {echo "<p>Ваша информация успешно добавлена, <a href='index.php'>вернуться назад в раздел</a></p>";}
else {echo "<p>Ваша информация Не добавлена</p>";}
}
else
{
echo "<p>Вы внесли не всю информацию поэтому объявление не может быть добавлено в базу</p>";
}
?>
|
| |
|
|
|
|
|
|
|
для: Dinya_1
(14.09.2008 в 19:38)
| | Разбивайте длинные строки своего кода, читать трудно. Не знаю куда вставлять у вас, но проверка принимаемых данных всегда должна предшествовать записи в базу. Почему не знаю конкретно куда? Потому, как не известно, что такое $title, $text, $gorod... Если это имена полей формы, и вы так получаете ее данные, то это плохо, так как это означает, то у вас включен параметр register_globals. | |
|
|
|
|
|
|
|
для: Dinya_1
(14.09.2008 в 19:38)
| | >В Какое место надо вставлять...
Видимо перед
/*До этого шли проверки на существование введенного текста...*/
|
| |
|
|
|