PDA

Zobacz pełną wersję : Problem z modułem: Ostatnio na forum



Ganador
04-11-2007, 19:35
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.

Ganador
04-11-2007, 22:12
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.

stone
04-11-2007, 22:47
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

Ganador
04-11-2007, 23:15
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!

stone
04-11-2007, 23:47
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

rcz
06-11-2007, 14:44
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

rcz
06-11-2007, 15:50
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.

Ganador
06-11-2007, 16:40
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źć.