dongyulian5801 2014-12-06 12:24
浏览 24
已采纳

如何使用PHP验证多个输入

I am using the following code to validate integer input fields in my form:

if (isset($_POST['MaxiVegXP']) && ctype_digit($_POST['MaxiVegXP']))
{
    $MaxiVegXP = $_POST['MaxiVegXP'];
} else {
    $MaxiVegXP = FALSE;
}

I have another 20 or so similar form input fields. Is there a quicker way of doing this with a PHP loop? I'd rather not do the above for another 20 input fields :-)

  • 写回答

4条回答 默认 最新

  • dongqie2355 2014-12-06 12:43
    关注

    You could iterate over all fields for example:

    foreach ($_POST as $key=>$value){
        if (isset($_POST[$key]) && ctype_digit($_POST[$key])) {
            $$key = $value;
        } else {
            $$key = FALSE;
        }
    }
    

    But I would instead put the code in a function and call the fuction excplicitly for every post variable:

    function isDigit($value) {
        if (isset($value) && ctype_digit($value)) {
            return true;
        }
        return false;
    }
    
    $MaxiVegXP = isDigit($_POST["MaxiVegXP"]) ? $_POST["MaxiVegXP"] : false;
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 请问有人会紧聚焦相关的matlab知识嘛?
  • ¥15 网络通信安全解决方案
  • ¥50 yalmip+Gurobi
  • ¥20 win10修改放大文本以及缩放与布局后蓝屏无法正常进入桌面
  • ¥15 itunes恢复数据最后一步发生错误
  • ¥15 关于#windows#的问题:2024年5月15日的win11更新后资源管理器没有地址栏了顶部的地址栏和文件搜索都消失了
  • ¥100 H5网页如何调用微信扫一扫功能?
  • ¥15 讲解电路图,付费求解
  • ¥15 有偿请教计算电磁学的问题涉及到空间中时域UTD和FDTD算法结合的
  • ¥15 three.js添加后处理以后模型锯齿化严重