- Как сделать так, чтобы входные данные формы не стирались после проверки php invalid = true?
- 6 ответов
- Php isset input type text
- POST-запросы
- Форма ввода данных
- Форма ввода данных
- Форма ввода данных
- isset() and unset() Function In PHP with Examples
- isset and unset Function in PHP
- PHP isset() Function
- Syntax – PHP isset() function
- Example – PHP isset Function
- How to check a variable set or not in php
- Second Example Of PHP isset() function
- How to check a variable set or not in php
- PHP unset() Function
- Syntax – PHP unset() function
- Example – PHP unset Function
- Unset Variable In PHP using PHP unset() Function
- Important Note of PHP unset() function
- Faqs of PHP isset() and unset() function
- 1. How to use isset() in PHP Form?
- 2. Delete or Remove an element from array – PHP unset() function
- Delete or Remove an element from array - PHP unset() function
- как использовать isset при нажатии кнопки Отправить
Как сделать так, чтобы входные данные формы не стирались после проверки php invalid = true?
У меня есть форма, в которую пользователь вводит данные, например, имя и фамилию и т.д. У меня есть проверка PHP, которая проверяет пустое поле. Проблема заключается в том, что нажата кнопка отправки, все данные формы стираются, когда поле остается пустым. Я попробовал этот метод ниже.
Notice: Undefined index: UserName in . on line 477
6 ответов
Проблема здесь в том, что вы не проверяете, инициализируется ли $ _POST [«UserName»], а когда это не так, вы выбросите ошибку. Проверьте с isset:
Пожалуйста, добавьте некоторые пояснения к вашему фрагменту: что за проблема была, и как ваш код ее решает.
Ваша форма не очищается или не стирается. Но вы загружаете новую страницу с новой формой.
Ваша попытка загрузить новую форму является хорошей, но вам нужно изменить
Поэтому удалите второе value которое никогда не должно было быть там. И проверьте, доступна ли переменная, прежде чем пытаться ее повторить.
В дополнение к этому вы также можете выполнить проверку на стороне клиента в Javascript поверх проверки на стороне сервера. (Тем не менее, валидация только стороны клиента, кстати, поскольку это может быть обмануто конечными пользователями.)
Вы можете изменить следующим образом:
Это предотвратит отправку формы на PHP, когда UserName все еще пуст. И, таким образом, предотвратите перезагрузку страницы и очищаемую форму.
Второе «значение» было введено здесь по ошибке, извините. И да, у меня есть проверка на стороне клиента. Но все равно спасибо за информацию.
@ user3636895 Если у вас уже есть проверка на стороне клиента, зачем беспокоиться о полях формы, которые очищаются? Если пользователь обманывает проверку на стороне клиента, возясь с javascript, то пусть он смотрит на очищенные поля формы.
Проверьте, есть ли $_POST[«UserName»] isset , попробуйте следующее:
" name="Givenname" id="Givenname" size="20" />
Я думаю, вы используете кнопку Reset следующим образом:
Если вы пытаетесь использовать второй, то используйте каждый вход, например:
Нет, у меня есть две кнопки: одна для type = «submit» и одна для type = «reset» @Mifmif, его ответ сработал!
Формы PHP часто отбрасывают введенные данные при проверке ошибок, даже если их эхо в поле ввода кэширует запись в успешной отправке, и понятно, что удаление запрещенных данных будет поведением по умолчанию. Тем не менее, может возникнуть реальная трудность перепечатать большое количество текста в текстовом поле, и его внезапное исчезновение может стать нежелательным сюрпризом для пользователя, особенно когда это связано с простой причиной, такой как ограничение по числу символов,
Установка значения $_POST[‘UserName’] с проверкой ошибок должна сохранять ввод поля без разрешения его процесса. В примере используется переменная для кэширования данных и эхо-сигнала в поле ввода.
Обновление: сценарий был обновлен, чтобы включить несколько кнопок отправки для той же формы, а также вариант для массива сообщений успеха.
Обновление: сценарий был обновлен, чтобы включить параметр exit(), а также текстовое поле.
- Имя пользователя и имя, разрешенные символы, и будут вызывать ошибку с верхним регистром AZ или специальными символами.
UserName использует массив ошибок, а First Name использует exit(), чтобы полностью остановить сценарий.
Ссылочки в текстовом поле также вызовут ошибку с верхним регистром AZ или специальными символами и с помощью функции exit(), чтобы остановить скрипт.
Данные формы будут сохранены в сообщении об ошибке, возврате страницы() и успешной отправке.
Результаты формы печатаются при успешной отправке.
Php isset input type text
Одним из основных способов передачи данных веб-сайту является обработка форм. Формы представляют специальные элементы разметки HTML, которые содержат в себе различные элементы ввода — текстовые поля, кнопки и т.д. И с помощью данных форм мы можем ввести некоторые данные и отправить их на сервер. А сервер уже обрабатывает эти данные.
Создание форм состоит из следующих аспектов:
- Создание элемента в разметке HTML
- Добавление в этот элемент одно или несколько поле ввода
- Установка метода передачи данных. Чаще всего используются методы GET или POST
- Установка адреса, на который будут отправляться введенные данные
POST-запросы
Итак, создадим новую форму. Для этого определим новый файл form.php , в которое поместим следующее содержимое:
Форма ввода данных
Имя:
Возраст:
Атрибут action=»user.php» элемента form указывает, что данные формы будет обрабатывать скрипт user.php , который будет находиться с файлом form.php в одной папке. А атрибут method=»POST» указывает, что в качестве метода передачи данных будет применяться метод POST.
Теперь определим файл user.php , который будет иметь следующее содержание:
if(isset($_POST["age"])) < $age = $_POST["age"]; >echo "Имя: $name
Возраст: $age"; ?>
Для обработки запросов типа POST в PHP используется встроенная глобальная переменная $_POST . Она представляет ассоциативный массив данных, переданных с помощью метода POST. Используя ключи, мы можем получить отправленные значения. Ключами в этом массиве являются значения атрибутов name у полей ввода формы.
Например, так как атрибут name поля ввода возраста имеет значение age ( ), то в массиве $_POST значение этого поля будет представлять ключ «age»: $_POST[«age»]
И поскольку возможны ситуации, когда поле ввода будет не установлено, то в этом случае желательно перед обработкой данных проверять их наличие с помощью функции isset() . И если переменная установлена, то функция isset() возвратит значение true .
Теперь мы можем обратиться к скрипту form.php и ввести в форму какие-нибудь данные:
И по нажатию кнопки введенные данные методом POST будут отправлены скрипту user.php :