2013-04-05 227 views
0

我正在从Joomla和Jomsocial一个PHP MySQL的&应用以下错误:未定义指数PHP错误/警告

[05-Apr-2013 12:23:45 America/Denver] PHP Notice: Undefined index: query in /home2 
/robervl4/public_html/forum/components/com_community/community.php on line 50 

这不起作用开箱即用。应用程序显示应用程序中的产品,唯一的问题是我收到此错误。

这里是文件的PHP代码,与第50行的存在:

parse_str($parts['query'], $qstring); 

代码:

// DISABLE FORMAT=FEED for now 17Jan13 as requested by Fuqaha 
$mainframe = JFactory::getApplication(); 
$jinput  = $mainframe->input; 
$viewType = $jinput->request->get('format', 'html','NONE'); 
if(strtolower($viewType)=='feed') { 
$u = JFactory::getURI(); 
$parts = parse_url($u->toString()); 
parse_str($parts['query'], $qstring); 
unset($qstring['format']); 
$parts['query'] = http_build_query($qstring) ; 

//recompose the URL to redirect 
$scheme = isset($parts['scheme']) ? $parts['scheme'] . '://' : ''; 
$host  = isset($parts['host']) ? $parts['host'] : ''; 
$port  = isset($parts['port']) ? ':' . $parts['port'] : ''; 
$path  = isset($parts['path']) ? $parts['path'] : ''; 
$query = isset($parts['query']) ? '?' . $parts['query'] : ''; 
$fragment = isset($parts['fragment']) ? '#' . $parts['fragment'] : ''; 

$mainframe->redirect(CRoute::_("$scheme$host$port$path$query$fragment")); 
exit('Redirecting to Non-Feed page'); 
} 
+0

您的网址可能没有查询..例如完整的域名.. 您稍后检查isset($ parts ['query'])..但您尝试在该行之前使用它.. – Svetoslav 2013-04-05 20:09:10

+0

它不是错误,其通知。查询 - 问号后? – zod 2013-04-05 21:35:47

回答

1

parse_url将只包括一个索引,如果它有一个值。 I.E.,如果没有查询,$parts['query']将不会被设置。如果设置测试第一: if (isset($parts['query'])) parse_str($parts['query'], $qstring);

http://php.net/manual/en/function.parse-url.php

+0

你能解释一下我需要做什么吗?不明白。 @kkhugs谢谢你 – user1224678 2013-04-07 16:43:18

0

parse_url可能不包含在查询字段。如果在URL中存在查询部分,它只包含查询字段;所以首先检查$ parts [“query”]是否存在(isset())。