Zobacz pełną wersję : Problem z modułem: Ostatnio na forum
Po zainstalowaniu JoomlaPE z forum wszystko było OK, lecz po kilku godzinach pojawił się problem. W module "Ostatnio na forum" pojawiło mi się coś takiego:
setQuery($query); $rows = $database->loadObjectList(); //check if there is result if(count($rows) > 0){ for($i=0,$n=count($rows);$i<$n;$i++){ $row = &$rows[$i]; $topic_title = $row->topic_title; if(strlen($topic_title) > $titlelenght){ $topic_title = substr($topic_title, 0, ($titlelenght - 2)) . "..."; } $topic_id = $row->topic_id; echo '+ '; echo ''.$topic_title.""; if($display_time == 1){ if(!empty($title_time_separator)){ echo " " . $title_time_separator; } echo " " . strftime($time_format, $row->topic_time); } if($display_user == 1){ if(!empty($time_user_separator)){ echo " " . $time_user_separator; } echo ' '.$row->topic_poster.""; } echo "
\n"; } } else { echo '+ No topics found
'; } ?>
I co ja mam z tym zrobić?
kobylinski
04-11-2007, 20:18
Wydaje mi się, że w module któryś blok php otwarty jest w krótki sposób tj. <? a nie <?php.
Zaczyna się od <?php więc to niestety nie to.
Dziwię się, że na początku wszystko ładnie działało, a potem coś się zepsuło. Czy mogło coś się samo poprzestawiać w plikach? Ja napewno w nie nie ingerowałem.
Kolega kobyliński ma rację, jest to wina otwarcia, poszukaj dokładnie w całym pliku, nie tylko na początku.
Natomiast możesz też poprosić admina aby zminił short open tag na ON, ale faktycznie było by lepiej aby w pliku to działało
No to chyba właśnie znalazłem przyczynę.
Przy instalacji Joomli zalecane było ustawienie short open tag na OFF, więc poprosiłem administratora, by te ustawienie zmienił. I chyba właściwie od tamtego momentu pojawił się ten problem, chociaż zupełnie nie skojarzyłem tego faktu, bo nie mam pojęcia o co chodzi.
Dzięki stone.
O co właściwie chodzi z tym short open tag?
P.S. Przeszperałem plik php i faktycznie znalazłem gdzieś w środku jedno <? bez php. Poprawiłem i teraz wszystko ślicznie działa. Dzięki raz jeszcze!
kwestia jest taka że kod php może się rozpoczynać albo od <?php albo <? z tym że to pierwsze jest bardziej poprawne i zalecane, i jeżeli w kodzie wystapi <? a short open tag jest OFF to wyświetli się kod php na stronie bo nie zostanie wykonany, stąd te dziwne "krzaki" u Ciebie:) ale faktem jest że powinny się stosować w kodzie <?php
Mam pytanie, w którym miejscu to sprawdzić czy kod php rozpoczyna się od <? czy <?php.
Wiem, że pytanie laickie, ale jeśli ktoś by podpowiedział, bo wiedziałem, ale zapomniałem :( tzn wyleciało mi z głowy to. ten temat
kobylinski
06-11-2007, 15:26
Stwórz dokument np. spr.php, do środka wpisz:
<?php
phpinfo();
?>
W tym co Ci się pojawi po uruchomieniu tego dokumentu na serwerze znajdź parametr short_open_tag
Hej, źle napisałem swoje pytanie, parametr short_open_tag to wiem co i jak, mnie chodziło, o to czy w module to należy gdzieś sprawdzić czy gdzieś w ustawieniach należy sprawdzić i gdzie się on znajduje aby sprawdzić czy jest czy jest tam <? czy <?php, bo identyczne "krzaki" mam. A to co napisałeś też się przyda :-)
kobylinski
06-11-2007, 15:53
Musisz przejrzeć kod modułu/komponentu/bota który się wykrzacza.
A dokładnie w pliku .php modułu.
U mnie błąd był mniej więcej w środku pliku. Plik nie jest duży, więc bez problemu można to znaleźć.
vBulletin® v4.2.5, Prawa przedruku © 2024 vBulletin Solutions, Inc. Wszystkie prawa zastrzeżone.
Tłumaczenie: Polskie Centrum Joomla!