注意:php中的未定义索引(验证)

时间:2014-10-31 04:26:31

标签: php html sql-server validation

我想验证我的表单,我收到了这个错误

Notice: Undefined index: ReqQty in C:\project\user\requisition.php on line 180

这是我的代码:

    <td><label for="ReqQty">Quantity </label></td>
    <td colspan="3"><input name="ReqQty" id="ReqQty" onkeypress="return numbersOnly(event)" onkeyup="ItmQty_Availability()" disabled="disabled">

<?php
          $strReqQty = "";
          if(!empty($_POST)){
              if($_POST["ReqQty"]==NULL){ //ERROR here
                  echo "<font color=red>Enter the Quantity</font>";
              }else{
                  $strReqQty = $_POST["ReqQty"];
              }
          }
?>

我只为这个输入类型得到了错误,而其他一切工作正常

4 个答案:

答案 0 :(得分:1)

删除disabled;如果你想要你可以使用隐藏。来自您的input field

A disabled input element is unusable and un-clickable.表示您无法使用它们。他们没有进一步发送价值

如果你想在我的回答中使用,你可以使用readonly tag。 (由@ghost建议。)

<td colspan="3"><input name="ReqQty" id="ReqQty" onkeypress="return numbersOnly(event)" onkeyup="ItmQty_Availability()" readonly>

检查

<td colspan="3"><input name="ReqQty" id="ReqQty" onkeypress="return numbersOnly(event)" onkeyup="ItmQty_Availability()" <?php if($condition==TRUE){echo "disabled=disabled";}?>>

答案 1 :(得分:0)

你必须检查isset()not NULL

if(isset($_POST["ReqQty"]) && $_POST["ReqQty"]=="" )

答案 2 :(得分:0)

发生此错误是因为请求中没有该字段,因此您在ReqQty上没有$_POST键。为防止这种情况发生,您必须检查密钥是否存在,然后对其进行验证。

更好的检查方法是:

if (!isset($_POST["ReqQty"]) || !$_POST["ReqQty"]) {
    // error
}

答案 3 :(得分:0)

使用isset检查$ _POST中的键是否存在

<?php
      $strReqQty = "";
      if(!empty($_POST)){
          if(isset($_POST["ReqQty"])){
              $strReqQty = $_POST["ReqQty"];
          }else{
               echo "<font color=red>Enter the Quantity</font>";
          }
      }
?>