-1

我刚刚将我的 MAMP 更新到 PHP 8,并试图将我的设置迁移到它。在我网站的搜索栏中,它说:


警告:第968行未定义变量 $_GET_GET

警告:尝试访问类型为 null 的值的数组偏移量

这是我使用的代码:

            <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>
4

2 回答 2

0

变量是 $_GET 而不是 $_GET_GET

于 2021-02-10T13:50:46.550 回答
0

$_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 中,它引发了一个警告。

于 2021-02-10T13:50:20.990 回答