为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

PHP
猛跑小猪 2021-07-13 21:42:04
我似乎无法让这个工作。我正在尝试修改一个非常旧的脚本(我们已故的技术人员和密友的),我们用来搜索正在使用的操作系统的服务器。这包括(据我所知)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”、“%”和其他一些东西。但它不起作用。结果是,在搜索中,我显示了所有服务器(无论它们使用什么操作系统)。我想我正确地转义了数组中的变量,但是由于某种原因,第二段编码与请求的搜索输入不兼容?任何人都知道我在这里做错了什么?
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 174 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信