繁体   English   中英

PHP SQL允许为空或数字输入字段

[英]PHP SQL Allow empty or numeric input field

我在获取此if语句正常工作时遇到麻烦。 我不希望POST字段“ reference_nr”包含一个空值或数字值。 这是我的代码:

    if(!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$_POST['faktura_email'])||
    !is_numeric($_POST['skadesnummer'])||
    !is_numeric($_POST['faktura_aar'])||
    (strlen($_POST['faktura_aar']) > 4)||
    !is_numeric($_POST['faktura_nr'])||
    (strlen($_POST['faktura_nr']) > 3)||
    !is_numeric($_POST['debitor'])||
    !is_numeric($_POST['reference_nr'])){

        print "Query fail";

    } else {

        print "Query success";

    }

我希望你能理解我的问题。 祝你今天愉快 :)

在尝试访问参数之前,应检查是否已设置参数。 您可以使用

if(isset($_POST['param_name']))
  $val = $_POST['param_name'];
else
  $val = null;

然后对变量进行任何其他数据验证。

您希望它是一个数字is_numeric()来完成这项工作,如果您希望它是空的!isset()来做到这一点:

if( is_numeric($_POST['reference_nr']) || isset($_POST['reference_nr'])){
    echo "referece_nr is numeric or empty";
 }else{
   echo "it's not ";
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM