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

问题描述

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


警告:未定义的变量 $_GET_GET 在线 968

警告:尝试访问数组

中类型为 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>

解决方法

$_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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...