Использование ISSET () и значение никогда не ложно с Html-кодом параметра выбора - PullRequest
0 голосов
/ 02 февраля 2019

Я пытаюсь лучше понять функцию ISSET ().Насколько я понимаю, при правильном использовании я могу определить, была ли нажата кнопка «отправить» или нет, потому что функция определяет истину или ложь.Я написал некоторый HTML-код, который использует тег HTML и тип тега HTML submit.Я пытался проверить, будет ли функция ISSET возвращать False, когда кнопка не нажата, и True, когда она была нажата.

Используя плагин Wordpress под названием «Woody snippets», он позволяет сочетать HTML и PHP вкороткий код.

Пожалуйста, смотрите мой код ниже:

Я пытался следить за видео проверки на YouTube = https://youtu.be/x_-HdHijmkw

Я сделал все строки для строки и изначальноон работал, обновляя страницу, не очищал все переменные и функция isset действовала так, как будто логическое значение было истинным.Я думал, что это был мой кеш, поэтому я очистил его.Тем не менее функция ISSET действует так, как будто логическое значение истинно.

<?php
if (isset($_GET['fname']) && isset($_GET['lname'])) {
$fname = $_GET['fname'];
$lname = $_GET['lname'];
echo "Hello ".$fname;
}
?>

<form action='' method='get'>
First Name: <input type="text" name="fname"><br>
Last Name: <input type="text" name="lname"><br>
<input type="submit" value="Greet Me"><br>
</form>  

Я ожидал после обновления, что функция isset () и переменные, используемые для определения истинного или ложного, будут ложными, пока я не введу значения и не нажмукнопка снова.

Ответы [ 2 ]

0 голосов
/ 02 февраля 2019

isset() проверяет, существует ли переменная и будет ли она возвращать true для пустых строк, значений 0 и NULL.Быстрое решение было бы использовать !empty() вместо:

if (!empty($_GET['fname']) && !empty($_GET['lname']))

См .: Где я должен использовать isset () и! Empty ()

0 голосов
/ 02 февраля 2019

Предварительная информация: isset($a) && isset($b) эквивалентно isset($a,$b)

isset () проверяет существование переменной var, а не, если она пуста.Попробуйте

if ( isset($_GET['fname'],$_GET['lname']) 
    && strlen($_GET['fname']) 
    && strlen($_GET['lname'])  { ...
...