将PHP$resquest变为空,即使使用控制台也证明了相反的结果

将PHP$resquest变为空,即使使用控制台也证明了相反的结果,php,post,get,request,Php,Post,Get,Request,我正在使用POST方法,通过控制台我可以看到参数存在 但是当我在PHP代码中测试$request是否为空时,它返回true。代码如下: if (empty($request)) { $auth = Account\Authenticate::login( $request['username'], $request['password'], isset($request['keep']) ); } 我将php.in下的re

我正在使用POST方法,通过控制台我可以看到参数存在

但是当我在PHP代码中测试
$request
是否为空时,它返回true。代码如下:

if (empty($request)) {
    $auth = Account\Authenticate::login(
         $request['username'],
         $request['password'],
         isset($request['keep'])
    );
}
我将php.in下的request_order设置为“PG”,但仍然存在同样的问题,我是否遗漏了什么


谢谢。

如果要使用PHP的内置请求处理,全局变量称为
$\u request
,而不是
$request

$\u REQUEST
是PHP提供的全局变量<代码>$request没有特殊含义。请参见试试这个

if ($request) {
    $auth = Account\Authenticate::login(
         $request['username'],
         $request['password'],
         isset($request['keep'])
    );
}

将此添加到函数中

public function Yourfunctionname(Request, $request)
        if ($request) {
            $auth = Account\Authenticate::login(
                 $request->get('username'),
                 $request->get('password'),
                 $request->get('keep'))
            );
        }

该问题通过将属性“httponly”设置为false得到解决,该参数属于Kernel.php下的函数“session_set_cookie_params”,这意味着为项目启用SSL,再次运行项目后,我被要求向浏览器添加一个异常,项目现在运行正常,谢谢

session_set_cookie_params(
    $_sess_cookie_params['lifetime'],
    $_sess_cookie_params['path'],
    $_sess_cookie_params['domain'],
    false,
    false
);

你能再给我一些背景吗?您使用的是什么框架?
$request
变量来自哪里?这种情况也没有多大意义。如果
$request
为空,从中获取数据?我正在处理一个由开发人员开发的现有项目,我无法访问&request来自一个名为PHPwag的外部库,完全来自该库下的form.php,我可以说它是一个自定义表单,&request的工作方式与php中的&u request完全相同,重点是此项目正在处理prod,我认为问题来自我的服务器或权限限制。您好,感谢您的快速响应,我添加了条件以测试&resquest是否为空,是的,我确定它为空,因为条件后的指令不再工作。请尝试第二个条件。如果您的ajax请求成功发布数据,那么就可以了。我正在处理一个由开发人员开发的现有项目,但我无法访问该项目,&request来自一个名为PHPwag的外部库,完全来自该库下的form.php,我可以说它是一个自定义表单,&request的工作方式与php中的&u request完全相同,重点是这个项目正在处理prod,我认为问题来自我的服务器或权限限制当我将$request更改为$\u request时,如果(!empty($\u request))继续执行说明,但当我控制台.log($\u request['username')时,我会得到一个空日志,是否有更好的打印方法?关于
$\u POST
?您好,$\u POST是空的,也许值得在相同环境中的干净Apache沙盒上研究此问题。使用PHP安装Apache,创建一个非常简单的页面,打印出
$\u REQUEST
,并使用一些GET参数从浏览器访问该页面。然后尝试使用Postman或curl发布到URL。接下来,将工作脚本移动到您迄今为止尝试过的Web服务器上,但删除所有其他代码。如果停止工作,您的Web服务器中会出现配置错误,否则其他代码可能会在处理数据后清除$u请求?dd($REQUEST->all())的输出是什么;如果条件是打印值还是不打印值,请将此代码放在前面?您好,谢谢您的回答。不,它不打印值,实际上在添加它之后,整个表单消失了。这意味着您的请求没有得到任何结果。你想从ajax发帖吗?是的,我是从ajax发帖的。
Request,$Request
看起来不对,应该是
Request$Request