2013-04-05 3 views
0

Я получаю следующее сообщение об ошибке на PHP & MySQL приложения с Joomla и Jomsocial:Undefined индекс PHP Error/Предупреждение

[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

Возможно, у вашего url нет запроса .. на полные имена доменов. Вы проверяете позже, если isset ($ parts ['query']) .., но вы пытаетесь использовать его до этой строки. – Svetoslav

+0

его нет ошибка, его уведомление. запрос - после вопросительного знака? – zod

ответ

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

0

parse_url не может содержать поле запроса. Он содержит только поле запроса, если в URL есть часть запроса; поэтому сначала проверьте там, если существует $ parts ["query"] (isset()).

Смежные вопросы