PHP:全局关键字在 POST 请求后不起作用

PHP: Global keyword not working after POST request

我有一个 PHP 表单供用户编辑个人详细信息。出于某种原因,我需要知道 哪个值已被用户修改 而不是将所有详细信息覆盖到数据库中。页面加载完成后,首先会执行else语句从数据库中获取内容并显示在页面上。单击表单的提交按钮后,将执行 if 语句

<?php
$everywhere = [];
if($_SERVER['REQUEST_METHOD'] == 'POST'){
    //once the submit button is clicked, collect all the values from the form
    $edited = [];
    $edited['Name']= ...;
    $edited['Address'] = ...;


    //error 
    //$everywhere becomes undefined 
    global $everywhere;
    foreach($everywhere as $x=>$x_val){
        echo "<h2>".$x."=".$x_val." "."</h2>";
    }
    
    
}else{ 
    //sqli_ query line
    //sqli_fetch_assoc line
    
    //original personal details will be stored into $items
    $items = [];
    $items['Name'] = ...;
    $items['Address'] = ...;
    
    global $everywhere;
    $everywhere = $items;
}

?>

<!--display original personal details-->
<form method="post">
    <dl>
        <dt>Name</dt>
        <dd><input type="text" name="user_name" value="<?php echo $items['user_name']; ?>"/></dd>
    </dl>
    ......
    ......

    <input type="submit" value="Edit"/>
</form>

我打算比较if语句中的$everywhere$edited,这样我就可以知道哪个值被修改了。但是$everywhereif语句中变成了undefined。有解决这个问题的想法吗?

if语句中有拼写错误$everywhere,else语句中有拼写错误

...
    global $everywhere;
    foreach(**$everywhere** as $x=>$x_val){
        echo "<h2>".$x."=".$x_val." "."</h2>";
    }
...
    global **$everywhere**;
    $everywhere = $items;
}

?>
...