我的php表单中的输入字段存在问题。看起来像:

<input type="number" name="tmax" max="99" min="-99" placeholder="Temperatura max.">


我想检查该字段是否为空。但是问题是php认为0为空。

if (empty($_POST['tmax'])) {
  $tmax = null;
}else {
  $tmax = $_POST['tmax'];
}


如果用户将输入字段留空,则该值将被视为“ null”,这非常有效。但是,如果用户写0,这是可能的形式,则也将其视为空。

我还在SQL中将默认值设置为null,但是问题是,如果输入为空,程序将在表中插入0

解:

此解决方案对我来说很好:

if ($_POST['tmax'] == "") {
  $tmax = null;
}else {
  $tmax = $_POST['tmax'];
}


还有is_numeric()

if (is_numeric($_POST['tmax'])) {
  $tmax = $_POST['tmax'];
}else {
    $tmax = 'null';
}

最佳答案

你可以用

if ($_POST['tmax'] == "") {
  $tmax = null;
}else {
  $tmax = $_POST['tmax'];
}

07-24 22:13