PHP 中未定义 PHP 变量:变量 $_GET_GET。尝试访问 null 类型值的数组偏移量

Undefined PHP varible in PHP: variable $_GET_GET. Trying to access array offset on value of type null

我刚刚将我的 MAMP 更新为 PHP 8,并且正在尝试将我的设置迁移到它。在我网站的搜索栏中,它显示:


Warning: Undefined variable $_GET_GET on line 968

Warning: Trying to access array offset on value of type null in

这是我使用的代码:

            <input id="search" type="search" class="form-control" placeholder="Find articles" value="<?=$_GET_GET['q'];?>"/>

以前的版本可以用,不知道为什么在PHP8上不行,我猜是因为新的更新,但找不到修复的方法。

更新:我尝试使用 $_GET 而不是 $_GET_GET,它显示
警告:未定义的数组键。这是搜索栏的代码:

<div class="col-md-7">
        <div class="row">
        <input id="search" type="search" class="form-control" placeholder="Find articles" value="<?=$_GET['q'];?>"/>
        <button id="searchButton" type="button"></button>
        </div>
        <div class="row">
        <p class="smallHint"><small>Hint: Separate phrases with commas (exploring computer science, high school, 2016)</small></p>
        </div>
    </div>

$_GET 是一个变量,包含发送到服务器的 GET 参数。根据错误,$_GET_GET 不存在,因此您的修复可能是:

<input id="search" type="search" class="form-control" placeholder="Find articles" value="<?=(isset($_GET['q']) ? $_GET['q'] : 'somedefault');?>"/>

如果您确实打算使用 $_GET_GET,那么由于某些原因它没有正确初始化。

编辑:

评论区有人指出,这个问题在PHP 7 提出了通知,在PHP 8 提出了警告。

变量是 $_GET 而不是 $_GET_GET