Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php $_请求[var]为空的常见原因?_Php_Wordpress_Request - Fatal编程技术网

Php $_请求[var]为空的常见原因?

Php $_请求[var]为空的常见原因?,php,wordpress,request,Php,Wordpress,Request,$\u请求[var]为空的常见原因是什么 我正在URI中传递&重定向到=somevalue。当我在接收的PHP代码中测试$\u请求['redirect\u to']时,它似乎未设置。这可能是服务器环境配置问题造成的吗?我在ZippyKid上,我知道他们对安全问题相当认真 更新:这仍然不是固定的。阅读下面的评论。一旦每个人都帮我意识到问题可能是我作为“redirect_to”的值传递的URL,我就去做了。但后来我发现,我暂时用了“废话”这个词。所以现在我要说的是: 但是php说$_请求['red

$\u请求[var]
为空的常见原因是什么

我正在URI中传递
&重定向到=somevalue
。当我在接收的PHP代码中测试
$\u请求['redirect\u to']
时,它似乎未设置。这可能是服务器环境配置问题造成的吗?我在ZippyKid上,我知道他们对安全问题相当认真

更新:这仍然不是固定的。阅读下面的评论。一旦每个人都帮我意识到问题可能是我作为“redirect_to”的值传递的URL,我就去做了。但后来我发现,我暂时用了“废话”这个词。所以现在我要说的是:


但是php说$_请求['redirect_to']是一个长度为零的字符串。O_O

我还没有解决这个问题,但我确实找到了问题的共同原因,所以我用它来回答这个问题

我怀疑这个问题是由于cookie中的“粘性”变量造成的。如果cookie设置了相同的变量,它可能会覆盖在_GET或_POST中传递的重复变量的值


这自然是使用_请求的主要安全问题,也是为什么使用它是不好的做法。呸,愚蠢的Wordpress旧代码!希望我能弄清楚我的问题是否真的是cookie变量,然后解决这个问题。我已经对代码倾注了好几次,在其他地方看不到任何问题。

尝试在每个字符串之前使用urlencode,比如redirect\u to=urlencode('blah'):

当您执行
var\u dump($\u请求)
时会看到什么?如果为空,请检查var_dump()上的Good调用。我应该这么做的。它转储一个数组,该数组按预期显示所有变量,但它包含以下内容:[“redirect_to”]=>string(0),因此显然它从url获取redirect_to。。问题一定是我传递的字符串。这是一个查询字符串,某些字符肯定会引发问题。Michael,谢谢你的建议。我很清楚这一点。Wordpress的古老登录实现使用请求。我受够了。奇怪的是变量存在,但什么都不包含。这不是服务器配置。你真正的
somevalue
看起来像什么?它是正确的URL编码吗?直到我按照建议进行var_转储,我才意识到它必须被编码。当我在谷歌上搜索时,人们说要使用javascript encodeURI(),但我读了文档,知道这没有用。但是,我现在看到,还有一个用于处理包含查询的URL的方法:javascript encodeURIComponent(),我从未解决过这个问题。最后,我在PHP代码中做了一些变通。它产生了不必要的复杂代码:(