Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/7: Рейтинг темы: голосов - 7, средняя оценка - 5.00
0 / 0 / 2
Регистрация: 31.12.2014
Сообщений: 226

Пропуск пустого поля input

23.06.2016, 19:10. Показов 1665. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем здравствуйте, делаю валидацию формы на php, и совсем запутался в циклах, вообще нужно что бы пропускал пустое поле input email и так же если оно заполнено делал проверку как можно это объединить? помогите пожалуйста, вот код:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
//тут проверяются переменные на спец символы и прочее
...
if(!empty($table) && !empty($rangegactiv) && !empty($tel) && !empty($name)&& !empty($email)) {
    $email_validate = filter_var($email, FILTER_VALIDATE_EMAIL); 
    if(check_length($table, 1, 2) && check_length($rangegactiv, 2, 50) && check_length($tel, 11, 15) && check_length($name, 2, 25) && $email_validate) {
        echo "Спасибо за сообщение";
    } else { // добавили сообщение
        echo "Введенные данные некорректные";
    }
} else { // добавили сообщение
    echo "Заполните пустые поля";
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.06.2016, 19:10
Ответы с готовыми решениями:

Обработка пустого input
Есть форма. На ней стоит input и несколько checkbox. Стоят следующие проверки: if (empty($login)) // если input пустой { ... } ...

Выборка не пустого поля
Всем доброго времени суток проблема следующая Есть запрос предположим SELECT * FROM Message2033 WHERE Subdivision_ID = '123'После...

Не работает проверка пустого поля
Здравствуйте, обращался уже по-этому поводу мне дали ответ, но у меня не получается, не работает код Есть список селект <select...

14
 Аватар для Пифагор
2172 / 1655 / 840
Регистрация: 10.01.2015
Сообщений: 5,207
23.06.2016, 19:40
вроде так
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
//тут проверяются переменные на спец символы и прочее
...
if(!empty($table) && !empty($rangegactiv) && !empty($tel) && !empty($name)) {//отсюда удалил
        if(!empty($email)){//сюда добавил
            $email_validate = filter_var($email, FILTER_VALIDATE_EMAIL);
        }
    if(check_length($table, 1, 2) && check_length($rangegactiv, 2, 50) && check_length($tel, 11, 15) && check_length($name, 2, 25) && $email_validate) {
        echo "Спасибо за сообщение";
    } else { // добавили сообщение
        echo "Введенные данные некорректные";
    }
} else { // добавили сообщение
    echo "Заполните пустые поля";
}
Добавлено через 1 минуту
т е, проверяется только тогда, когда оно не пустое.

Добавлено через 8 минут
Даже наверное вот так
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
//тут проверяются переменные на спец символы и прочее
...
if(!empty($table) && !empty($rangegactiv) && !empty($tel) && !empty($name)) {
        if(!empty($email)){
            $email = filter_var($email, FILTER_VALIDATE_EMAIL);
        }
    if(check_length($table, 1, 2) && check_length($rangegactiv, 2, 50) && check_length($tel, 11, 15) && check_length($name, 2, 25) && $email) {
        echo "Спасибо за сообщение";
    } else { // добавили сообщение
        echo "Введенные данные некорректные";
    }
} else { // добавили сообщение
    echo "Заполните пустые поля";
}
Добавлено через 41 секунду
Переназначим $email, т к ниже она проверяется. Может не пропустить.

Добавлено через 38 секунд
$email_validate изменил на $email

Добавлено через 32 секунды
Вроде не напортачил
1
0 / 0 / 2
Регистрация: 31.12.2014
Сообщений: 226
23.06.2016, 19:42  [ТС]
Пифагор, не верно, ошибку выдает "Введенные данные некорректные"
0
 Аватар для Пифагор
2172 / 1655 / 840
Регистрация: 10.01.2015
Сообщений: 5,207
23.06.2016, 19:43
Во втором варианте нет $email_validate

Добавлено через 15 секунд
Есть только $email
1
0 / 0 / 2
Регистрация: 31.12.2014
Сообщений: 226
23.06.2016, 19:46  [ТС]
Пифагор, да сначала первый вариант посмотрел, переделал проверил второй выдает "Введенные данные некорректные"
0
 Аватар для Пифагор
2172 / 1655 / 840
Регистрация: 10.01.2015
Сообщений: 5,207
23.06.2016, 19:57
Лучший ответ Сообщение было отмечено Kerry_Jr как решение

Решение

Хм...
Вот так, возможно:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//тут проверяются переменные на спец символы и прочее
...
if(!empty($table) && !empty($rangegactiv) && !empty($tel) && !empty($name)) {
        if(!empty($email)){
            $email = filter_var($email, FILTER_VALIDATE_EMAIL);
        }
        else $email = '';
    if(check_length($table, 1, 2) && check_length($rangegactiv, 2, 50) && check_length($tel, 11, 15) && check_length($name, 2, 25) && $email) {
        echo "Спасибо за сообщение";
    } else { // добавили сообщение
        echo "Введенные данные некорректные";
    }
} else { // добавили сообщение
    echo "Заполните пустые поля";
}
Добавлено через 50 секунд
Если тоже не верно, то я прям теряюсь в догадках...
1
0 / 0 / 2
Регистрация: 31.12.2014
Сообщений: 226
23.06.2016, 20:00  [ТС]
Пифагор, не, та же самая ошибка "Введенные данные некорректные", вот и я теряюсь...
0
 Аватар для Пифагор
2172 / 1655 / 840
Регистрация: 10.01.2015
Сообщений: 5,207
23.06.2016, 20:03
Ну, тады звэняйтэ. Чего-то, видать, не догоняю...
1
0 / 0 / 2
Регистрация: 31.12.2014
Сообщений: 226
24.06.2016, 00:48  [ТС]
Пифагор, спасибо что откликнулись, буду думать дальше

Добавлено через 3 часа 33 минуты
Вообщем решено, решил поле email тоже сделать обязательным, в конце концов сгодится в дальнейшем, всем спасибо
0
Эксперт PHP
 Аватар для Kerry_Jr
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
24.06.2016, 14:30
n0kk, а причем поле email, если может не пропускать функция check_length?
1
0 / 0 / 2
Регистрация: 31.12.2014
Сообщений: 226
24.06.2016, 15:26  [ТС]
Kerry_Jr, check_length не применяется к email это поле фильтруется
0
Эксперт PHP
 Аватар для Kerry_Jr
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
24.06.2016, 15:37
n0kk, это я вижу. Уберите вообще проверку поля email и проверьте, пройдет валидация или нет.
1
0 / 0 / 2
Регистрация: 31.12.2014
Сообщений: 226
24.06.2016, 16:08  [ТС]
Kerry_Jr, валидацию проходит, если оставляю пустое поле и меняю на if(empty($email)), либо не пустой $email то делается фильтрация и все работает, мне нужно было что
бы если не заполнено пропускал пустой input, а если заполнено то делалась фильтрация и в зависимости от результата пропускал либо выдавал ошибку, только проблема в том что получается либо так либо так а объединить проверку не доходит ум у меня
0
Эксперт PHP
 Аватар для Kerry_Jr
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
24.06.2016, 18:09
Лучший ответ Сообщение было отмечено n0kk как решение

Решение

Пифагор, вы присваиваете $email пустую строку, а потом пихаете его в проверку. Пустая строка - это false.
n0kk, в коде Пифагора в строке $email = ''; замените пустые кавычки на какое-нибудь значение по умолчанию, например.
1
0 / 0 / 2
Регистрация: 31.12.2014
Сообщений: 226
24.06.2016, 20:13  [ТС]
Kerry_Jr, да, так все работает, если сделать какое нибудь значение по умолчанию, спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
24.06.2016, 20:13
Помогаю со студенческими работами здесь

PHP & MySQL инициализация пустого поля
Здравствуйте. Столкнулся со следующей проблемой: -Допустим, у меня есть база данных database, в ней таблица table с полями id...

Как сделать так, что бы текст из поля INPUT присваивался переменной
Каксделать так, что-бы текст из поля INPUT присваивался переменной, к примеру а, это "каркас" форума?:)

Не загружаются данные в поле input type=text
Доброго времени суток! У меня такая маленькая проблемка, и наверное даже глупая... При попытке загрузить данные из SQL в поле input...

ПОлучить данные методом Post из динамически созданных input'ов
Вопрос в следующем: Моя задача была написать с помощью яваскрипта скрипт который динамически добавляет инпуты на форму, в древовидном...

Ввод/вывод из полей input и textarea в бд mysql с помощью php
суть такая... из бд выводятся комментарии для редактирования... вывод работает нормально... Страница: <?php ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru