【问题标题】:Dealing with no input and setting a value for it in PHP在 PHP 中处理无输入并为其设置值
【发布时间】:2016-09-27 13:27:08
【问题描述】:

我有文本框,用户应该插入一个数值。如果用户错过了一个盒子,那么错过的盒子值应该设置为 0。我如何使用 if 语句来做到这一点?这是我尝试过的,但我似乎无法让它工作。当我错过一个文本框时,它根本不显示“0”,它是空白的。

$missed = 0;

if($usernumber == "")    { 
$usernumber = $missed;
}

【问题讨论】:

  • $usernumber 是如何设置的?要获取输入,您需要使用 $_GET 或 $_POST 变量
  • 多贴几行代码。
  • 当我错过一个文本框时,它根本不显示“0”,它是空白的 ... (string) 0 == "" 这就是你所期望的。
  • 我认为。 OP去了晚餐/午餐/早餐他可能离开办公室对以下答案不感兴趣。虽然没有回复。
  • 我尝试了下面的答案,但是当我运行它时,它仍然给了我一个否号。答案只是留空,没有答案,应该是0。

标签: php if-statement textbox integer


【解决方案1】:

试试这个

<?php    
$missed = 0;
if (!isset($_POST['usernumber'])) {
    $username = $missed;
}

【讨论】:

    【解决方案2】:

    如果你使用 post 方法,那么你可以像这样检查

    $missed = 0;
    $usernumber =$_POST['usernumber'];
    if($usernumber=='')
    {
      $usernumber = $missed;
    }
    

    【讨论】:

      【解决方案3】:

      您提到了多个文本框,因此为了避免对每个文本框重复相同的代码,我可能建议将其作为循环来执行。我开始这样做是因为对 _POST var 进行“空”检查,但后来意识到,如果您需要将答案设为数字,那么 !is_numeric() 是确保它们也提供数字的更好方法。

      // Textbox field names
      $myPostedTextBoxes = Array("usernumber","anotherbox1","anotherbox2");
      
      // Convert empty values to "0"
      foreach($myPostTextBoxes as $tb){
          $_POST[$tb] = !is_numeric($_POST["tb"])?"0":$_POST[$tb];
      }
      

      【讨论】:

        【解决方案4】:
        if(!$_POST['usernumber']) $usernumber = $missed;
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2014-05-11
          • 2018-12-30
          • 2017-10-07
          • 1970-01-01
          • 2020-03-28
          • 1970-01-01
          • 2015-06-27
          相关资源
          最近更新 更多