php - 即使文本字段为空,isset() 的计算结果也为真。这是为什么?

标签 php isset

第一个片段从两个文本字段中获取数据并发送到 action script.php。问题是即使我没有在文本字段中输入任何内容,if 语句的计算结果都是 true。这是为什么?

try.php

<form method='get' action='./action_script.php'>
        <input type="text" id="text_first" name="text_first" /> <br />
        <input type="text" id="text_second" name="text_second"/> <br />
        <input type="submit" id="submit" />
</form>

action_script.php

<?php

  if(isset($_GET['text_first'])) {
        echo "Data from the first text field : {$_GET['text_first']} <br>";
  }
  if(isset($_GET['text_second'])) {
        echo "Data from the second text field : {$_GET['text_second']} <br>";
  }

  echo "After the if statement <br />";

最佳答案

因为它们都已设置 - 变量存在于 $_GET 数组中。即使它们的值为空字符串。

也尝试检查是否为空

 if( isset($_GET['text_first']) && $_GET['text_first'] !== '' ) 

if ( ! empty( $_GET['text_first'] ) ) {

请注意,您不需要使用 isset(),因为如果变量不存在,empty() 不会生成警告。

关于php - 即使文本字段为空,isset() 的计算结果也为真。这是为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15500012/

相关文章:

javascript - 使用 jquery 模式屏幕的两个相同的 POST 操作,一个有效,一个无效?

php - 如果设置了 session ,则显示 css 内容的正确方法

php - 在 PHP ISSET 函数中使用 HTML 表单

php - SEO 友好的 ajax 驱动的网站

Php:如何计算 zip 的 Adler32 校验和?

php - 具有数据库读/写功能的 PHP 骰子滚子

php - 子主题 css 不覆盖父主题

PHP isset 不适用于复选框

php - 具有一个或多个(多个)参数的搜索表单

php - 具有一个或多个(多个)参数的搜索表单