Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/236.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 函数中接收到错误的值_Php_Cakephp_Parameters_Cakephp 1.3_Iepngfix - Fatal编程技术网

Php 函数中接收到错误的值

Php 函数中接收到错误的值,php,cakephp,parameters,cakephp-1.3,iepngfix,Php,Cakephp,Parameters,Cakephp 1.3,Iepngfix,我用CakePHP 1.3.10创建的网站中出现了一些非常奇怪的情况,我不知道这是CakePHP问题还是PHP问题。我遇到的问题是控制器中的一个动作属于插件 这是一个简单的函数,它看起来像: function my_function($my_parameter) { $current_url = $this->params['url']['url']; //We get the current url (includes plugin/controller/action/para

我用CakePHP 1.3.10创建的网站中出现了一些非常奇怪的情况,我不知道这是CakePHP问题还是PHP问题。我遇到的问题是控制器中的一个动作属于插件

这是一个简单的函数,它看起来像:

function my_function($my_parameter) {

    $current_url = $this->params['url']['url']; //We get the current url (includes plugin/controller/action/parameters) from Cake's $this->params array

    $this->saveInfoToDB($current_url); //Function that saves the variable and other info to a table in the database - This function doesn't change the value of the variable, just saves it
}
此操作由网站中的几个链接调用,格式为“/my_plugin/my_controller/my_function/my_Parameter”。其想法是显示页面“my_函数”,并将当前url存储在数据库中

那么问题是什么呢?让我解释一下:

查看数据库中“saveInfoToDB”存储的注册表,我意识到存储“current_url”值的字段有时会有意外值(看起来是随机的)

normal值如下所示:/my_plugin/my_controller/my_function/3(整数从1到100) 错误的值看起来总是一样的:/my_plugin/my_controller/my_function/js/iepngfix.htc

你能看出什么问题是对的吗?我不知道为什么js/iepngfix.htc存储在那里!!!我之所以在示例中使用$my_参数,是因为我意识到js/iepngfix.htc是作为该函数中的参数传递的(因此它也显示在$this->params数组中)。但是为什么呢

我的网站中没有像/my_plugin/my_controller/my_function/js/iepngfix.htc这样的链接,那么这怎么可能发生呢?我不相信许多不同的用户会同意在浏览器中输入该url(顺便说一句,用户必须登录才能访问该链接)。显然,在某些时候,当用户浏览网站时,链接被“调用”,但我不知道如何

该网站使用了一些IE黑客攻击PNG图像(如iepngfix.htc、iepng_tilebg.js等),但我已经删除了它们,因此它们不会在任何地方被调用,甚至从服务器上删除了文件

我知道很难找到原因的答案,但是如果有人能给我一些建议,告诉我如何解决我的网站问题,找到问题的根源。我曾尝试重新创建此问题,但我只能使用IE访问一次用户访问的链接(例如/my\u plugin/my\u controller/my\u function/43),但尝试了更多次,没有再次发生。这是IE的问题吗?当用户调用正确的链接时,此浏览器是否调用该链接(错误的链接)


任何帮助都将不胜感激

我想我可能找到了罪犯。其中一个css文件中“隐藏”了此css代码:

body { behavior: url('js/iepngfix.htc') }
(我要说的是,这个设计是别人做的)

在删除该片段后,问题似乎不再发生。为什么?我不知道。。。为什么在函数中作为参数传递?我真的不知道。。。为什么它是随机发生的?我真的不知道


我相信所有这些都有一个解释,但我没有太多时间来进一步调查,我很高兴它现在起作用了

我想我可能找到了罪犯。其中一个css文件中“隐藏”了此css代码:

body { behavior: url('js/iepngfix.htc') }
(我要说的是,这个设计是别人做的)

在删除该片段后,问题似乎不再发生。为什么?我不知道。。。为什么在函数中作为参数传递?我真的不知道。。。为什么它是随机发生的?我真的不知道


我相信所有这些都有一个解释,但我没有太多时间来进一步调查,我很高兴它现在起作用了

您可能试图通过相对URL包含
iepngfix.htc
行为可能来自样式表中

例如:如果使用此URL链接了
iepngfix.htc

../js/iepngfix.htc
您当前处于此页面:

http://example.com/mycontroller/myaction/
然后,
iepngfix.htc
URL解析为:

http://example.com/mycontroller/js/iepngfix.htc
http://example.com/mycontroller/myaction/js/iepngfix.htc
这将给出一个错误404

但是如果您当前在页面:

http://example.com/mycontroller/myaction/123
然后,
iepngfix.htc
URL解析为:

http://example.com/mycontroller/js/iepngfix.htc
http://example.com/mycontroller/myaction/js/iepngfix.htc
最后一部分将作为参数发送到控制器操作(
js/iepngfix.ht

如何解决这个问题
  • 首先,你真的需要pngfix吗?您可能只需要在Internet Explorer 6及以下版本中使用它。除非您的目标是中国,否则Internet Explorer 6的市场份额不到1%()。即使这样,这种行为也有很多负面影响,导致性能非常差
  • 检查你的网址!由于URL重写,您应该始终使用完整路径访问您的“资产”(CSS、JavaScript);i、 e.
    /js/myscript.js
    代替
    js/myscript.js
    。/js/myscript.js

您可能试图通过相对URL包含
iepngfix.htc
行为可能来自样式表中

例如:如果使用此URL链接了
iepngfix.htc

../js/iepngfix.htc
您当前处于此页面:

http://example.com/mycontroller/myaction/
然后,
iepngfix.htc
URL解析为:

http://example.com/mycontroller/js/iepngfix.htc
http://example.com/mycontroller/myaction/js/iepngfix.htc
这将给出一个错误404

但是如果您当前在页面:

http://example.com/mycontroller/myaction/123
然后,
iepngfix.htc
URL解析为:

http://example.com/mycontroller/js/iepngfix.htc
http://example.com/mycontroller/myaction/js/iepngfix.htc
最后一部分将作为参数发送到控制器操作(
js/iepngfix.ht

如何解决这个问题
  • 首先,你真的需要pngfix吗?您可能只需要在Internet Explorer 6及以下版本中使用它。除非您的目标是中国,否则Internet Explorer 6的市场份额不到1%()。即使这样,这种行为也有很多负面影响,导致性能非常差
  • 检查你的网址!由于URL重写,您应该始终