0

我不知道我的代码有什么问题。有一个错误:

Parse error: syntax error, unexpected T_NS_SEPARATOR, expecting T_STRING in /home/&&&&/public_html/oscommerce/admin/modules.php(313) : eval()'d code on line 1

这是Line 313

eval('$keys .= ' . $value['set_function'] . "'" . $value['value'] . "', '" . $key . "');");

价值观:

$value['set_function']包含tep_cfg_select_option(array('Live', 'Sandbox'),

$value['value']包含Live

$key包含CONFIGURATION_PAYPAL

4

4 回答 4

1

你确定要使用 eval() 吗?

eval()的 PHP 文档 说

eval() 语言结构非常危险,因为它允许执行任意 PHP 代码。因此不鼓励使用它。如果您已仔细验证除了使用此构造之外别无选择,请特别注意不要将任何用户提供的数据传入其中,而无需事先正确验证。

于 2013-02-07T13:22:15.367 回答
0

一个可能的原因是括号似乎不匹配。最后你有 2 ) 而你只有一个 ( .

于 2013-02-07T13:15:58.770 回答
0

看起来里面有什么或者$value['set_function']里面$value['value']$key什么\

尝试回显其中的内容eval()而不是运行eval()- 这将让您看到 PHP 尝试运行的代码。

该错误基本上是说在'd 代码\中的一个奇怪的地方有一个命名空间分隔符 ( )eval()

于 2013-02-07T13:18:59.543 回答
0

eval('$keys .= ' . $value['set_function'] . "'" . $value['value'] . "', '" . $key . "');");

会给你类似的东西

$keys .= set_function'value', 'key');

我相信这是不正确的。

(后面加$value['set_function'] . "怎么办?您还没有在函数名称后打开括号。

另一件事是 T_NS_SEPARATOR 错误意味着你有\一个不应该出现的地方。每:https ://stackoverflow.com/a/6454891/2028547 - 查看所有变量的值以查找奇怪的字符。

于 2013-02-07T13:17:21.110 回答