Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [FCKEditor] problem z obsługą kodu PHP
Forum PHP.pl > Forum > Przedszkole
xajart
Witam.

Meczę się z obsługą w FCKEditor kodów php, nie mogę tego rozgryźć co jest nie tak. 
Mam zainstalowaną wersję FCKEditor 2.6.4

W pliku konfiguracyjnym fckconfig.js. odkomentowałem linijkę:
Kod
FCKConfig.ProtectedSource.Add( /<\?[\s\S]*?\?>/g );



Z dokumentacji wynika, że teraz jak wpisze jakiś kod php w edytorze to powinnien się on wykonać.
Efekt jest taki że wpisuję np:
Kod
<?php
echo "1234";
?>



Niestety nie wyświetla się nic, w bazie danych zapisuje składnie mi poprawnie więc powinnien ją wyświetlić.
Jak daje wyświetl źródło (strony która ma wyświetlać efekt działania php) to widze że w kodzie jest wstawiona linijka w formie
Kod
<?php
echo "1234";
?>


Co jest dla mnie dość dziwne bo z tego by wynikało że edytor traktuje ją jako tekst wpisany a nie jako kod, bo w źródle powinno wyświetlać się 1234 a nie cały kod. 

Prubowałem ze znacznikami 
Kod
<?php
jak i
<?


ale efekt jest ten sam bez względu czy wpisze to bezpośrednio w edytorze, czy jak przejde w nim na Źródło dokumentu i tam wklepie ten kod. Efekt za każdym razem jest taki sam. 



Moje pytanie brzmi jak to odpalić by obsługiwało mi skłądnie php, poprostu na stronie mam zrobiony formularz i chce w nim dobudować wyświetlanie kodów z obrazka na zasadzie wklepania w edytorze dodatkowego kodu:
Kod
<?php
$los = rand(0,50);
echo '<img src="los.gif" />
?>

A następnie pobierać z formularza kod który użytkownik wklepie i porównać go z kodem (z BD odnośnie tego pliku). Niestety nie obsługuje mi skryptów php, FCKEditor.

Może ktoś miał już podobny problem, albo może macie jakieś pomysły jak to rozwiązać?
Sekwer
Domyślnie FCK Editor ustawiony jest na obsługę menagera dla asp
W pliku fckconfig.js zamieniasz linię w których jest connector.asp, na connector.php.

W pliku config.php musisz jeszcze zmienić $Config['Enabled'] = false;
Powinno śmigać smile.gif
xajart
Tego connector.asp i php nie mam wogóle w kodzie.

Mam za to takie wpisy:

Kod
var _FileBrowserLanguage    = 'php';    // asp | aspx | cfm | lasso | perl | php | py
var _QuickUploadLanguage    = 'php';    // asp | aspx | cfm | lasso | perl | php | py


Ale są ustawione na php. I z tego co widzę w miejscach gdzie występują scieżki z connector odwoływane są do właśnie do powyższych zmiennych - wieć praktyczie powinno być ustawione na php.

Tylko co do tego nie jestem pewny bo linijka w której podawana jest scieżka z connector wygląda tak:
Kod
var _FileBrowserExtension = _FileBrowserLanguage == 'perl' ? 'cgi' : _FileBrowserLanguage;

FCKConfig.LinkBrowserURL = FCKConfig.BasePath + 'filemanager/browser/default/browser.html?Connector=' + encodeURIComponent( FCKConfig.BasePath + 'filemanager/connectors/' + _FileBrowserLanguage + '/connector.' + _FileBrowserExtension );


Po podstawieniu wynika że rozszerzenie używa też .php
Kod
php == 'perl' ? 'cgi' : php;


W pliku config.php - zmieniłem na false i dalej jest to samo, co w poście pierwszym.

Jakieś inne propozycje ?

Problem tkwi po stronie wyświetlania skryptu: a mianowicie miałem użyte przy pobieraniu danych z BD w formie:
Kod
$contents = stripslashes($wyswietl["contents"])
, po wywalenie stripslashes działa wyświetlanie kodu php, ale wyświetla go w bardzo dziwny sposób a mianowicie efekt jest takie:
Kod
1234\'; ?>

jak się pozbyć tej końcówki \'; ?>

Sądzę że ten problem wynika z powodu własnego skryptu w którym wyświetlanie mam zrobione w taki sposób że po odczytaniu danych z BD jest cały ciąg wyświetlany w kodzie php:
Kod
<?php echo $contents; ?>
.

W ten sposób dochodzi do zagnieżdzenia jednego kodu względem drugiego sad.gif
Maxik
fckconfig.js siedzi w cache przegladarki, wpisz jego adres w pasku adresu i odśwież.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.