- isset
- Parameters
- Return Values
- Examples
- Notes
- See Also
- Check if Post Exists in PHP
- Check if $_POST Exists With isset()
- Check if $_POST Exists With the Empty() Function
- Check if $_POST Exists With isset() Function and Empty String Check
- Check if $_POST Exists With Negation Operator
- Related Article — PHP Post
- Если isset $ _POST
- 14 ответов
isset
Определите, считается ли переменная установленной, это означает, что переменная объявлена и отличается от null .
Если переменная была сброшена с помощью функции unset () , она больше не считается установленной.
isset () вернет false при проверке переменной, которой присвоено значение null . Также обратите внимание, что нулевой символ ( «\0» ) не эквивалентен null константе PHP .
Если указано несколько параметров, isset () вернет true только в том случае, если все параметры считаются установленными. Оценка идет слева направо и останавливается, как только обнаруживается неустановленная переменная.
Parameters
Return Values
Возвращает true , если var существует и имеет любое значение, кроме null . false противном случае — ложь .
Examples
Пример # 1 Примеры использования isset ()
$var = ''; // This will evaluate to TRUE so the text will be printed. if (isset($var)) < echo "This var is set so I will print."; > // In the next examples we'll use var_dump to output // the return value of isset(). $a = "test"; $b = "anothertest"; var_dump(isset($a)); // TRUE var_dump(isset($a, $b)); // TRUE unset ($a); var_dump(isset($a)); // FALSE var_dump(isset($a, $b)); // FALSE $foo = NULL; var_dump(isset($foo)); // FALSE ?>
Это также работает для элементов в массивах:
$a = array ('test' => 1, 'hello' => NULL, 'pie' => array('a' => 'apple')); var_dump(isset($a['test'])); // TRUE var_dump(isset($a['foo'])); // FALSE var_dump(isset($a['hello'])); // FALSE // The key 'hello' equals NULL so is considered unset // If you want to check for NULL key values then try: var_dump(array_key_exists('hello', $a)); // TRUE // Checking deeper array values var_dump(isset($a['pie']['a'])); // TRUE var_dump(isset($a['pie']['b'])); // FALSE var_dump(isset($a['cake']['a']['b'])); // FALSE ?>
Пример # 2 isset () для смещения строк
$expected_array_got_string = 'somestring'; var_dump(isset($expected_array_got_string['some_key'])); var_dump(isset($expected_array_got_string[0])); var_dump(isset($expected_array_got_string['0'])); var_dump(isset($expected_array_got_string[0.5])); var_dump(isset($expected_array_got_string['0.5'])); var_dump(isset($expected_array_got_string['0 Mostel'])); ?>
Выводится приведенный выше пример:
bool(false) bool(true) bool(true) bool(true) bool(false) bool(false)
Notes
isset () работает только с переменными, поскольку передача чего-либо еще приведет к ошибке синтаксического анализа. Чтобы проверить, установлены ли константы , используйте функцию defined () .
Примечание . Поскольку это языковая конструкция, а не функция, ее нельзя вызывать с помощью переменных функций или именованных аргументов .
Note:
При использовании isset () для недоступных свойств объекта будет вызван метод перегрузки __isset () , если он объявлен.
See Also
- empty () — определяет, пуста ли переменная
- __isset()
- unset () — Сбросить заданную переменную
- defined () — Проверяет, существует ли заданная именованная константа
- таблицы сравнения типов
- array_key_exists () — Проверяет, существует ли данный ключ или индекс в массиве
- is_null () — Проверяет , является ли переменная нулевой
- оператор контроля ошибок @
PHP 8.2
(PHP 4,5,7,8)is_writable Говорит о том,доступно ли имя файла Возвращает true,если имя файла существует и доступно для записи.
(PHP 4,5,7,8)is_writeable Псевдоним функции is_writable()Эта функция является псевдонимом функции:is_writable().
(PHP 5 5.1.0,7,8)iterator_apply Вызывает функцию для каждого элемента в итераторе Вызывает функцию для каждого элемента в итераторе.
Check if Post Exists in PHP
- Check if $_POST Exists With isset()
- Check if $_POST Exists With the Empty() Function
- Check if $_POST Exists With isset() Function and Empty String Check
- Check if $_POST Exists With Negation Operator
PHP $_POST is a super-global variable that can contain key-value pair of HTML form data submitted via the post method. We will learn different methods to check if $_POST exists and contains some data in this article. These methods will use isset() , empty() , and empty string check.
Check if $_POST Exists With isset()
The isset() function is a PHP built-in function that can check if a variable is set, and not NULL. Also, it works on arrays and array-key values. PHP $_POST contains array-key values, so, isset() can work on it.
To check if $_POST exists, pass it as a value to the isset() function. At the same time, you can check if a user submitted a particular form input. If a user submits a form input, it will be available in $_POST , even if it’s empty.
The following HTML provides us with something to work with. It has a form field with a prepopulated name field.
form method="post" action=""> label>First Namelabel> input type="text" name="first_name" value="DelftStack"> input type="submit"> form>
The following PHP will check if $_POST exists when you click the submit button:
php if (isset($_POST['first_name'])) $first_name = $_POST['first_name']; echo $first_name; > ?>
Check if $_POST Exists With the Empty() Function
The following HTML is like the previous one, this time, the name is different:
form method="post" action=""> label>First Namelabel> input type="text" name="first_name" value="Mathias Jones"> input type="submit"> form>
The next code block will show you how to check for $_POST with the empty() function:
php if (!empty($_POST)) $first_name = $_POST['first_name']; echo $first_name; > ?>
Check if $_POST Exists With isset() Function and Empty String Check
The isset() function returns true if the value of $_POST is an empty string, but it will return false for NULL values. if you try to print the values of isset($_POST[‘x’]) = NULL and isset($_POST[‘x’]) = » , in both cases, you’ll get an empty string.
As a result, you will need to check for empty strings. The combination of isset() and empty string check eliminates the possibility that $_POST contains empty strings before you process its data.
In the next code block, we have an HTML to work with:
form method="post" action=""> label>First Namelabel> input type="text" name="first_name" value="Mertens Johanssen"> input type="submit"> form>
php if (isset($_POST['first_name']) && $_POST['first_name'] !== "") $first_name = $_POST['first_name']; echo $first_name; > ?
Check if $_POST Exists With Negation Operator
The negation operator (!) will turn a true statement into false and a false statement into true. Therefore, you can check if $_POST exists with the negation operator. To check for $_POST , prepend it with the negation operator in an if-else statement.
In the first part, if $_POST is empty, you can stop the p processing of its data. In the second part of the conditional, you can process the data.
form method="post" action=""> label>First Namelabel> input type="text" name="first_name" value="Marcus Alonso"> input type="submit"> form>
The next code block demonstrates checking if $_ POST exists with the negation operator.
php if (!$_POST) echo "Post does not exist"; > else $first_name = $_POST['first_name']; echo $first_name; > ?>
Habdul Hazeez is a technical writer with amazing research skills. He can connect the dots, and make sense of data that are scattered across different media.
Related Article — PHP Post
Если isset $ _POST
У меня есть форма на одной странице, которая отправляется на другую страницу. Там он проверяет, заполнена ли входящая почта. Если это так, то сделайте что-нибудь, а если оно не заполнено, сделайте что-нибудь еще. Я не понимаю, почему это всегда говорит, что это установлено, даже если я отправляю пустую форму. Что отсутствует или не так? step2.php:
Все текстовые входные данные и текстовые области, присутствующие в вашей форме, будут отправлены на сервер, даже если их значения являются пустыми строками.
14 ответов
if (isset($_POST["mail"]) && !empty($_POST["mail"])) < echo "Yes, mail is set"; >else
Таким образом, $_POST всегда установлен, но его содержимое может быть пустым.
Так как !empty() уже проверяет, установлено ли значение, вы также можете использовать эту версию:
Незначительная вещь . Я думаю, что лучше избегать ! оператор в подобных случаях (легче читать, меньше вероятность ошибки и т. д.) и обратная логика . if (empty())*> else*>
Используйте !empty вместо isset . isset возвращает true для $_POST , потому что массив $_POST суперглобальный и всегда существует (устанавливается).
Или лучше использовать $_SERVER[‘REQUEST_METHOD’] == ‘POST’
Вы должны упомянуть, что используйте ОБА isset и !empty чтобы предотвратить ошибку. РЕДАКТИРОВАТЬ: Ой, это, по-видимому, учится каждый день, то ссылка
Я пытался, и оба работают отлично. Почему $ _SERVER [‘REQUEST_METHOD’] == ‘POST’ лучше? Что именно это делает? это может относиться к конкретному вводу или это является общим для формы?