You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

遇到‘Display match not found?’提示时,如何排查给定PHP代码的问题?

排查你的PHP表单处理代码问题

先看你给出的代码片段,我发现几个关键问题,这些大概率就是导致你看到“Display match not found?”提示或者其他异常的原因:

1. 表单验证逻辑顺序完全颠倒

你现在的判断顺序是先做正则格式验证,再检查输入是否为空,这完全不符合逻辑:

  • 如果用户根本没输入内容,empty($_POST["name"])会返回true,但因为你先执行正则验证,空字符串会直接触发preg_match的失败判断,输出Only letters allowed,永远走不到空值检查的分支。
  • 正确的顺序应该是先检查输入是否为空,再做格式验证。

修复后的验证逻辑示例:

$nameErr = "";
if(isset($_POST["name"])){ 
    // 优先检查空值
    if(empty($_POST["name"])){
        echo "No letter entered";//检查姓名是否为空
    } else {
        $name = test_input($_POST["name"]);
        // 空值排除后再做格式验证
        if (!preg_match("/^[a-zA-Z ]*$",$name)) {
            echo "Only letters allowed";
        } else {
            // 后续的数组合并逻辑
            $veggies = array("Potato", "Cucumber", "Carrot", "Orange", "Green Beans", "onion");
            $fruits = array("Apple", "Banana", "orange", "Pineapple", "Grapes", "Watermelon");
            $salad = array_merge ($veggies, $fruits);
            // ... 你的其他业务代码
        }
    }
}

2. 数组元素大小写不统一,直接导致匹配失败

看你定义的数组:$veggies里有"Orange"(首字母大写),而$fruits里有"orange"(全小写)。如果后续你有基于$salad数组做匹配查找的逻辑(比如校验用户输入是否属于沙拉食材),大小写不匹配会直接找不到结果,这很可能就是你看到“Display match not found?”的核心原因。

解决方法有两种:

  • 统一数组元素的大小写,比如全部转成小写:
    $veggies = array_map('strtolower', ["Potato", "Cucumber", "Carrot", "Orange", "Green Beans", "onion"]);
    $fruits = array_map('strtolower', ["Apple", "Banana", "orange", "Pineapple", "Grapes", "Watermelon"]);
    
    同时把用户输入的$name也转成小写再做匹配:
    $name = strtolower(test_input($_POST["name"]));
    
  • 或者在匹配时使用不区分大小写的函数,比如preg_grep配合i修饰符:
    $matches = preg_grep("/^$name$/i", $salad);
    

3. 未定义的test_input函数

代码里用到了test_input($_POST["name"]),但你没有给出这个函数的定义。如果这是你自定义的过滤函数(比如去除空格、转义特殊字符),请确保它已经被正确定义,否则会直接抛出PHP错误,中断代码执行。

一个典型的test_input实现示例:

function test_input($data) {
    $data = trim($data);
    $data = stripslashes($data);
    $data = htmlspecialchars($data);
    return $data;
}

内容的提问来源于stack exchange,提问作者user9657014

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 06:13:10