修复“非法字符串偏移”?

时间:2016-03-14 23:29:40

标签: php wordpress

我的服务器错误日志显示以下错误:

div[id^='body_']

这是一个自行编写的WordPress插件,可让访问者在前端搜索WordPress用户。受影响的代码如下,有问题的第35行是以“$ form =”开头的那个。

[03-Feb-2016 09:04:11 UTC] PHP Warning:  Illegal string offset 'results-page' in /home/myaccount/public_html/wp-content/plugins/simple-author-search/simple-author-search.php on line 35

您能否帮我理解文本结果页面导致此错误的原因?

感谢您的时间。

1 个答案:

答案 0 :(得分:1)

非法字符串偏移意味着,您希望使用非法密钥访问字符串的偏移量。因为字符串永远不会是字符串的合法偏移量,所以这会以警告结束。

在您的情况下,您必须确保results-page是一个数组且密钥function showForm($atts = array()) { if (!is_array($atts) || !isset($atts['results-page'])) { // invalid argument - do some error handling return ''; } $keywords = filter_input(INPUT_GET, 'sas-keywords'); $form = '<form action="' . get_permalink($atts['results-page']) . '"name="sas-form" class="sas-form form-inline pull-xs-right"><input type="hidden" name="sas-search" value="1"><input type="text" class="form-control" name="sas-keywords" value="' . htmlentities($keywords) . '"/>' . '&nbsp;<input type="submit" value="Search" class="btn btn-secondary" /></form>'; return $form; } 存在。

{{1}}