猿问

尝试在搜索变量数组中使用空格,但未获得预期的输出/结果

我似乎无法让这个工作。我正在尝试修改一个非常旧的脚本(我们已故的技术人员和密友的),我们用来搜索正在使用的操作系统的服务器。这包括(据我所知)PHP 和SMARTY。


我已经尝试过用斜线和反引号来转义内容。但它根本不起作用。我真的不知道在哪里看。下面是最初的两段代码(我找不到更多的部分,或者我忽略了)。


来自第一个 PHP 文件的一段 PHP 代码:


$values['osname'] = array( '-' => 'no choice',

                          '5' => 'CentOS 5.x',

                          '6' => 'CentOS 6.x',

                          '7' => 'CentOS 7.x',

                        );

来自第二个 PHP 文件的一段代码:


$osname = intval(Common::GPvar('osname'));

$_SESSION['form']['serverselect']['osname'] = $osname;

if ($osname != '-') { $where .= " AND dsh.sumup LIKE '%OS: CentOS ".$osname."%'"; }

这是在搜索表单中使用的,因此当我选择“CentOS 6.x”时,它将显示所有包含文本OS: CentOS 6.10 的服务器。


现在我想要实现的是使以下内容起作用:


$values['osname'] = array( '-' => 'no choice',

                          'CentOS 5' => 'CentOS 5.x',

                          'CentOS 6' => 'CentOS 6.x',

                          'CentOS 7' => 'CentOS 7.x',

                          'Virtuozzo 7' => 'Virtuozzo 7.x',

                        );

正如我上面提到的,我试图逃避内容,但这没有用。所以我猜测第二个 PHP 文件中的编码也需要一些调整。所以我尝试删除某些东西,比如“CentOS”、“%”和其他一些东西。但它不起作用。结果是,在搜索中,我显示了所有服务器(无论它们使用什么操作系统)。


我想我正确地转义了数组中的变量,但是由于某种原因,第二段编码与请求的搜索输入不兼容?


任何人都知道我在这里做错了什么?


猛跑小猪
浏览 175回答 1
1回答
随时随地看视频慕课网APP
我要回答