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]   

> Без описания
krutilov228
Отправлено: 10 Июля, 2014 - 19:55:41
Post Id


Новичок


Покинул форум
Сообщений всего: 2
Дата рег-ции: Июль 2014  


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




Приветствую. Есть одна форма с обработчиком. В обработчике проверяются данные из формы, в моем случае количество введенных символов. Если количество символов меньше двух обработчик должен ругнутья, что он собственно и делает. Если количество символов больше двух, то соответсвенно выоводится сообщение о том, что все хорошо. Собственно проблема в том что оно выводится при любом раскладе, а должно выводиться только когда количество символов превышает 2. Помогите понять где косяк.

Ниже привожу код формы и обработчика

Форма:
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. <form action="get.php" method="post">
  3.         <p>Имя:         <input name="name" type="text" size="20">        <p><input name='sub_com' type='submit' value='Отправить'></p>
  4. </form>
  5.  


Обработчик:
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. <?php
  3. $name = $_POST['name'];
  4.  
  5. if ($name != "")
  6. // Если существуют проверяем...
  7.         {
  8.            if ((strlen($name) >= 2) and (strlen($name) <= 25))
  9.            {
  10.                    $name = stripslashes($name);
  11.                    $name = html_entity_decode($name);
  12.                    $name = strip_tags($name);
  13.            }
  14.            else
  15.            {
  16.                    echo "Вы ввели некорректные данные в поле Имя<br />";
  17.            }  
  18.  
  19.         }
  20.         // Если не существуют выводим сообщение...
  21.         else
  22.         {
  23.                 echo "Пожалуйста заполните все поля !";
  24.         }
  25.  
  26.         if ($name) {
  27.                 echo "Все круто";
  28.         }
  29.  
  30. ?>
  31.  
 
 Top
Viper
Отправлено: 10 Июля, 2014 - 20:58:21
Post Id



Активный участник


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


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




(Отредактировано автором: 10 Июля, 2014 - 20:58:58)



-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
krutilov228
Отправлено: 10 Июля, 2014 - 21:05:15
Post Id


Новичок


Покинул форум
Сообщений всего: 2
Дата рег-ции: Июль 2014  


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




Viper пишет:


так перестает работать проверка
 
 Top
Sail
Отправлено: 11 Июля, 2014 - 08:46:16
Post Id



Участник


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


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




Для проверки вхождения в интервал от 2 до 25 надо использовать, конечно-же 'and' Улыбка
Возможно, дело в кодировке строки... не один байт на символ.
Попробуйте для начала проверку начать не с 2, а с 10.
А затем - к mb_* функциям...
 
 Top
DelphinPRO
Отправлено: 11 Июля, 2014 - 09:14:03
Post Id



Активный участник


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


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




Sail пишет:
А затем - к mb_* функциям...

сразу. Если имена кириллические и кодировка utf - следует использовать mb_* функции обработки строк.
(Добавление)

Блин, когда же в php можно будет писать так

if (2 <= strlen($name) <= 25)

Улыбка


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB