表格上的棘手验证码

时间:2014-03-11 11:41:06

标签: php if-statement cycle

我对以这种方式编码的表单进行了实施控制检查:

public function checkCittaResidenza() {
    if (is_string($this->citta_residenza) && (strlen($this->citta_residenza) <= 45 || strlen($this->citta_residenza == 0))) {
        $this->corretti['citta_residenza'] = htmlentities($this->citta_residenza, ENT_QUOTES);
    } else {
        $this->ErroriTrack('citta_residenza');
    }
}

在这个版本中,它只是检查它是否是一个字符串并检查它的长度应该小于45个字符。它将字符串放在数组corretti()中,如果是正数,否则它会在检查类的抽象类父类中初始化上面指定的错误消息。

我喜欢它做的是:

1)检查字符串以查看它是否为空。 2)如果它不为空,则进行检查(可能比这里显示的简单更为特别,但我没有问题),如果正确则将其置于corretti()中并且如果不是则初始化错误,正如现在的代码所说。

3)如果字符串为null,程序应跳过检查并直接将空值写入数组corretti(),因为表格被想象在一段时间内以不同的步骤完成,所以它总是发生在它没有完全填满。

我在为最后一个条件编码if循环时遇到问题,我尝试和想象的每个循环都将空条件作为初始化错误的原因。

谢谢!

1 个答案:

答案 0 :(得分:0)

试试这个,

public function checkCittaResidenza() {
    if(isset($this->citta_residenza)){
if ((is_string($this->citta_residenza) && (strlen($this->citta_residenza) <= 45) || $this->citta_residenza == "")) {
    $this->corretti['citta_residenza'] = htmlentities($this->citta_residenza, ENT_QUOTES);
} else {
    $this->ErroriTrack('citta_residenza');
}
} else {
$this->corretti['citta_residenza'] = "null";
}
}