验证文本框值的php代码

验证文本框值的php代码,php,Php,我的表格中有两栏 文本框1 总数 用户在我的文本框中输入数据,如 textbox1=501502 总数=2 我需要验证代码..来验证textbox1 前 如果用户输入 total=2,则textbox1只接受两个值,如下所示 textbox1=501502 如果用户尝试输入两个以上的值,则需要回显消息 若我在total textbox中输入1,那个么它允许用户在textbox中只输入1个值,而不超过1 下面是我的代码 我不知道如何验证这样的条件…请 $textbox1 = $_POST['tex

我的表格中有两栏

文本框1

总数

用户在我的文本框中输入数据,如

textbox1=501502

总数=2

我需要验证代码..来验证textbox1

如果用户输入

total=2,则textbox1只接受两个值,如下所示

textbox1=501502

如果用户尝试输入两个以上的值,则需要回显消息

若我在total textbox中输入1,那个么它允许用户在textbox中只输入1个值,而不超过1

下面是我的代码

我不知道如何验证这样的条件…请

$textbox1 = $_POST['textbox1']; 
$arr = explode(",", rtrim($textbox1 , ', '));
$total= $_POST['total'];





 public function receipt_exist($arr,$total)
        {
            $errors=array();
            //validation code here

             return $errors;        
        }

如果您只需要检查数组的长度,那就足够简单了。也许是这样的:

$textbox1 = $_POST['textbox1']; 
$arr = explode(",", rtrim($textbox1 , ', '));
$total= intval($_POST['total']);

if (count($arr) != $total) {
    // display error message
} else {
    // continue
}

错误信息由您决定。例如,您可能会发出一些HTML并结束响应。(如果您结束响应,则不需要
else
块,没有它,代码看起来会更干净。相反,您只需在
If
块后继续执行逻辑即可。)

或使用javascript实现

<input type="text" id="total" name="total">  
<input type="text" id="textbox1" name="textbox1" onkeypress="return checkInput()">
<script>
function checkInput(){   
        var total = document.getElementById('total').value;
        var textbox1 = document.getElementById('textbox1').value;
        if(total.length*3 < textbox1.length){
             alert("entered value is bigger");
             return false;
       }
}
</script>

函数checkInput(){
var total=document.getElementById('total')。值;
var textbox1=document.getElementById('textbox1').value;
if(总长度*3<文本框1.长度){
警报(“输入值较大”);
返回false;
}
}

您是否只需要检查
$arr
的长度是否与
$total
中的数值匹配?是的,我想检查total的长度是否与textbox1的长度匹配…如果不匹配,则显示错误消息…例如-如果我输入total=2,则它只接受textbox1=501502,就是这样……。在那之后,textbox1中不会接受更多的值……用JavaScript进行验证肯定会有助于更好的UX,尽管他仍然希望用PHP进行验证。请不要只发布代码而不解释我们在看什么。
$textbox1 = $_POST['textbox1']; 
$arr = explode(",", rtrim($textbox1 , ', '));
$total= $_POST['total'];

public function receipt_exist($arr,$total){
  $errors=array();
  if(count($arr)>$total){
   $errors[] = "ERRROR";
  }   
return $errors;        

}